<?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>229339</bug_id>
          
          <creation_ts>2021-08-20 09:31:01 -0700</creation_ts>
          <short_desc>Add stubs for Permissions API</short_desc>
          <delta_ts>2021-08-31 10:51:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>229504</blocked>
    
    <blocked>229590</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>annulen</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>dvpdiner2</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>marcos</cc>
    
    <cc>rniwa</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1785868</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-20 09:31:01 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785870</commentid>
    <comment_count>1</comment_count>
      <attachid>435998</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-20 09:36:04 -0700</bug_when>
    <thetext>Created attachment 435998
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785874</commentid>
    <comment_count>2</comment_count>
      <attachid>436000</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-20 09:47:26 -0700</bug_when>
    <thetext>Created attachment 436000
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785875</commentid>
    <comment_count>3</comment_count>
      <attachid>436001</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-20 09:48:22 -0700</bug_when>
    <thetext>Created attachment 436001
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785966</commentid>
    <comment_count>4</comment_count>
      <attachid>436021</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-20 13:26:56 -0700</bug_when>
    <thetext>Created attachment 436021
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786678</commentid>
    <comment_count>5</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-08-24 00:31:48 -0700</bug_when>
    <thetext>If at all possible, it would be great if there was a bugzilla component for the Permissions API.  

Alternatively, a meta bug would be great. 

(I edit the spec, so this would really help with issue tracking, etc.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786679</commentid>
    <comment_count>6</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-08-24 00:32:01 -0700</bug_when>
    <thetext>If at all possible, it would be great if there was a bugzilla component for the Permissions API.  

Alternatively, a meta bug would be great. 

(I edit the spec, so this would really help with issue tracking, etc.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787693</commentid>
    <comment_count>7</comment_count>
      <attachid>436534</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-26 11:22:53 -0700</bug_when>
    <thetext>Created attachment 436534
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787731</commentid>
    <comment_count>8</comment_count>
      <attachid>436547</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-26 12:25:37 -0700</bug_when>
    <thetext>Created attachment 436547
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787746</commentid>
    <comment_count>9</comment_count>
      <attachid>436550</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-26 12:40:43 -0700</bug_when>
    <thetext>Created attachment 436550
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787757</commentid>
    <comment_count>10</comment_count>
      <attachid>436554</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-26 13:09:26 -0700</bug_when>
    <thetext>Created attachment 436554
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787762</commentid>
    <comment_count>11</comment_count>
      <attachid>436554</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-26 13:17:47 -0700</bug_when>
    <thetext>Comment on attachment 436554
Patch

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

&gt; Source/WebCore/Modules/permissions/PermissionController.h:47
&gt; +class DummyPermissionController : public PermissionController {

class could be marked as final.

&gt; Source/WebCore/Modules/permissions/PermissionStatus.h:60
&gt; +    const ClientOrigin&amp; origin() final { return m_origin; }

should this be marked as const?

&gt; Source/WebCore/Modules/permissions/PermissionStatus.h:61
&gt; +    const PermissionDescriptor&amp; descriptor() final { return m_descriptor; }

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787769</commentid>
    <comment_count>12</comment_count>
      <attachid>436558</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-26 13:26:14 -0700</bug_when>
    <thetext>Created attachment 436558
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787797</commentid>
    <comment_count>13</comment_count>
      <attachid>436566</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-26 14:20:11 -0700</bug_when>
    <thetext>Created attachment 436566
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787820</commentid>
    <comment_count>14</comment_count>
      <attachid>436575</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-26 15:02:42 -0700</bug_when>
    <thetext>Created attachment 436575
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787842</commentid>
    <comment_count>15</comment_count>
      <attachid>436578</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-26 15:44:19 -0700</bug_when>
    <thetext>Created attachment 436578
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787859</commentid>
    <comment_count>16</comment_count>
      <attachid>436583</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-26 16:05:17 -0700</bug_when>
    <thetext>Created attachment 436583
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787867</commentid>
    <comment_count>17</comment_count>
      <attachid>436586</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-26 16:22:17 -0700</bug_when>
    <thetext>Created attachment 436586
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787915</commentid>
    <comment_count>18</comment_count>
      <attachid>436598</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-26 18:18:10 -0700</bug_when>
    <thetext>Created attachment 436598
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787982</commentid>
    <comment_count>19</comment_count>
      <attachid>436598</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-08-27 03:04:08 -0700</bug_when>
    <thetext>Comment on attachment 436598
Patch

Did not have time for a full review, some comments below.
My main comment is to make sure that we structure window/worker specific code appropriately.

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

&gt; Source/WebCore/Modules/permissions/PermissionController.h:28
&gt; +#include &quot;PermissionObserver.h&quot;

Can be removed, since class PermissionObserver is added

&gt; Source/WebCore/Modules/permissions/PermissionName.idl:34
&gt; +    &quot;background-sync&quot;,

Should we restrict to the values we actually support?

&gt; Source/WebCore/Modules/permissions/PermissionObserver.h:28
&gt; +#include &quot;ClientOrigin.h&quot;

We could forward declare it

&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:46
&gt; +PermissionStatus::PermissionStatus(ScriptExecutionContext&amp; context, PermissionState state, PermissionDescriptor descriptor)

Is it worker and document?
Should we restrict to Document&amp;?
Or should we add a fixme for worker support?

&gt; Source/WebCore/Modules/permissions/PermissionStatus.idl:35
&gt; +    attribute EventHandler onchange;

What about GC in case onchange event handler is set?

&gt; Source/WebCore/Modules/permissions/Permissions.cpp:74
&gt; +    auto parameterDescriptor = convert&lt;IDLDictionary&lt;PermissionDescriptor&gt;&gt;(*context-&gt;globalObject(), permissionDescriptorValue.get());

Why do we need to do the conversion here instead of letting the binding generator handle it?

&gt; Source/WebCore/Modules/permissions/Permissions.cpp:81
&gt; +    auto* document = frame? frame-&gt;document() : nullptr;

This is probably specific to window and not workers.
It seems we should either abstract the code, for instance by using ScriptExecutionContext or restrict permission API to window only for now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788037</commentid>
    <comment_count>20</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-27 09:32:05 -0700</bug_when>
    <thetext>&lt;rdar://problem/82442205&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788056</commentid>
    <comment_count>21</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-27 10:12:58 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #19)
&gt; Comment on attachment 436598 [details]
&gt; Patch
&gt; 
&gt; Did not have time for a full review, some comments below.
&gt; My main comment is to make sure that we structure window/worker specific
&gt; code appropriately.

Will try structuring it for worker code.

&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=436598&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/permissions/PermissionController.h:28
&gt; &gt; +#include &quot;PermissionObserver.h&quot;
&gt; 
&gt; Can be removed, since class PermissionObserver is added

Sure.

&gt; 
&gt; &gt; Source/WebCore/Modules/permissions/PermissionName.idl:34
&gt; &gt; +    &quot;background-sync&quot;,
&gt; 
&gt; Should we restrict to the values we actually support?

Sure, I will remove some values.

&gt; 
&gt; &gt; Source/WebCore/Modules/permissions/PermissionObserver.h:28
&gt; &gt; +#include &quot;ClientOrigin.h&quot;
&gt; 
&gt; We could forward declare it

Okay.

&gt; 
&gt; &gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:46
&gt; &gt; +PermissionStatus::PermissionStatus(ScriptExecutionContext&amp; context, PermissionState state, PermissionDescriptor descriptor)
&gt; 
&gt; Is it worker and document?
&gt; Should we restrict to Document&amp;?
&gt; Or should we add a fixme for worker support?

The spec says worker and document but we can do document only first.
I will restrict to document in this patch and addd a comment for worker support.

&gt; 
&gt; &gt; Source/WebCore/Modules/permissions/PermissionStatus.idl:35
&gt; &gt; +    attribute EventHandler onchange;
&gt; 
&gt; What about GC in case onchange event handler is set?

What do you mean? 
Do you mean to remove the observer and stop dispatching change event in stop()?

&gt; 
&gt; &gt; Source/WebCore/Modules/permissions/Permissions.cpp:74
&gt; &gt; +    auto parameterDescriptor = convert&lt;IDLDictionary&lt;PermissionDescriptor&gt;&gt;(*context-&gt;globalObject(), permissionDescriptorValue.get());
&gt; 
&gt; Why do we need to do the conversion here instead of letting the binding
&gt; generator handle it?

PermissionDescriptor can be extended, so the parameter is JSObject. The next step here should be converting it to a TypedPermissionDescriptor based on name. But we don&apos;t add any TypedPermissionDescriptor now.

&gt; 
&gt; &gt; Source/WebCore/Modules/permissions/Permissions.cpp:81
&gt; &gt; +    auto* document = frame? frame-&gt;document() : nullptr;
&gt; 
&gt; This is probably specific to window and not workers.
&gt; It seems we should either abstract the code, for instance by using
&gt; ScriptExecutionContext or restrict permission API to window only for now?

Will try abstracting it and limit to window access in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788142</commentid>
    <comment_count>22</comment_count>
      <attachid>436664</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-27 13:31:19 -0700</bug_when>
    <thetext>Created attachment 436664
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788180</commentid>
    <comment_count>23</comment_count>
      <attachid>436664</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-27 14:39:22 -0700</bug_when>
    <thetext>Comment on attachment 436664
Patch

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

&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:67
&gt; +void PermissionStatus::stateChanged(PermissionState newState)
&gt; +{
&gt; +    if (m_state != newState)
&gt; +        queueTaskToDispatchEvent(*this, TaskSource::Permission, Event::create(eventNames().changeEvent, Event::CanBubble::No, Event::IsCancelable::No));
&gt; +}

This event dispatching mechanism isn&apos;t sound from GC perspective.
We don&apos;t have anything in place to keep the JS wrapper of PermissionStatus alive until this function is called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788182</commentid>
    <comment_count>24</comment_count>
      <attachid>436664</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-27 14:42:12 -0700</bug_when>
    <thetext>Comment on attachment 436664
Patch

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

&gt;&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:67
&gt;&gt; +}
&gt; 
&gt; This event dispatching mechanism isn&apos;t sound from GC perspective.
&gt; We don&apos;t have anything in place to keep the JS wrapper of PermissionStatus alive until this function is called.

To try and clarify Ryosuke&apos;s comment. This is the right way to queue a task to dispatch and event.

However, you&apos;ll also need to override ActiveDOMObject::virtualHasPendingActivity() to return true as long as the PermissionStatus object may dispatch events in the future, to keep the JS wrapper alive until stateChanged() gets called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788184</commentid>
    <comment_count>25</comment_count>
      <attachid>436664</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-27 14:44:43 -0700</bug_when>
    <thetext>Comment on attachment 436664
Patch

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

&gt;&gt;&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:67
&gt;&gt;&gt; +}
&gt;&gt; 
&gt;&gt; This event dispatching mechanism isn&apos;t sound from GC perspective.
&gt;&gt; We don&apos;t have anything in place to keep the JS wrapper of PermissionStatus alive until this function is called.
&gt; 
&gt; To try and clarify Ryosuke&apos;s comment. This is the right way to queue a task to dispatch and event.
&gt; 
&gt; However, you&apos;ll also need to override ActiveDOMObject::virtualHasPendingActivity() to return true as long as the PermissionStatus object may dispatch events in the future, to keep the JS wrapper alive until stateChanged() gets called.

You basically need to implement the language at https://w3c.github.io/permissions/#permissionstatus-gc since a PermissionStatus::virtualHasPendingActivity() override.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788199</commentid>
    <comment_count>26</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-27 15:17:57 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #25)
&gt; Comment on attachment 436664 [details]
&gt; Patch
&gt;
&gt; You basically need to implement the language at
&gt; https://w3c.github.io/permissions/#permissionstatus-gc since a
&gt; PermissionStatus::virtualHasPendingActivity() override.

An alternative is to use makePendingActivity and hold onto the activity object while we&apos;re waiting for something. That might work better for permission API since we&apos;d be typically asking for UI process to get a permission?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788200</commentid>
    <comment_count>27</comment_count>
      <attachid>436679</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-27 15:21:49 -0700</bug_when>
    <thetext>Created attachment 436679
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788202</commentid>
    <comment_count>28</comment_count>
      <attachid>436681</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-27 15:26:51 -0700</bug_when>
    <thetext>Created attachment 436681
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788203</commentid>
    <comment_count>29</comment_count>
      <attachid>436679</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-27 15:28:11 -0700</bug_when>
    <thetext>Comment on attachment 436679
Patch

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

&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:79
&gt; +    return hasEventListeners(eventNames().changeEvent) || m_hasPendingActivity;

This isn&apos;t gonna work. This function will return true forever as soon as someone added an event listener for &quot;change&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788245</commentid>
    <comment_count>30</comment_count>
      <attachid>436695</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-27 17:20:19 -0700</bug_when>
    <thetext>Created attachment 436695
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788260</commentid>
    <comment_count>31</comment_count>
      <attachid>436699</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-27 18:38:56 -0700</bug_when>
    <thetext>Created attachment 436699
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788324</commentid>
    <comment_count>32</comment_count>
      <attachid>436699</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-08-28 11:27:46 -0700</bug_when>
    <thetext>Comment on attachment 436699
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Add stubs for Permissions API

This seems like it is doing way more than adding what we normally call stubs.

&gt; Source/WebCore/Modules/permissions/PermissionName.h:50
&gt; +template&lt;&gt; struct EnumTraits&lt;WebCore::PermissionName&gt; {

This file needs to include wtf/EnumTraits.h.

&gt; Source/WebCore/Modules/permissions/PermissionName.idl:29
&gt; +    EnabledBySetting=PermissionsAPI,

I am not sure if there is any benefit to adding a EnabledBySetting to an enum. I don&apos;t believe it does anything.

&gt; Source/WebCore/Modules/permissions/PermissionState.idl:29
&gt; +    EnabledBySetting=PermissionsAPI,

Same comment about unnecessary EnabledBySetting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788460</commentid>
    <comment_count>33</comment_count>
      <attachid>436760</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-30 02:21:23 -0700</bug_when>
    <thetext>Created attachment 436760
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788523</commentid>
    <comment_count>34</comment_count>
      <attachid>436760</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-30 09:14:39 -0700</bug_when>
    <thetext>Comment on attachment 436760
Patch

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

&gt; Source/WebKit/ChangeLog:9
&gt; +        Set up basic infrastrcture of permission getting and setting.

Typo: infrastrcture

&gt; Source/WebCore/Modules/permissions/PermissionController.h:38
&gt; +class PermissionController : public ThreadSafeRefCounted&lt;PermissionController&gt; {

Why ThreadSafeRefCounted? Do we really expect such object to be passed to different threads?

&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:54
&gt; +    m_origin = ClientOrigin { context.topOrigin().data(), originData };

WTFMove(originData)

&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:69
&gt; +    m_hasPendingActivity = true;

What is this flag? queueTaskToDispatchEvent() takes care of keeping your wrapper alive. This flag seems pointless.

&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:80
&gt; +    if (m_hasPendingActivity)

This flag seems pointless

&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:85
&gt; +        if (context &amp;&amp; context-&gt;isDocument())

return is&lt;Document&gt;(context) &amp;&amp; downcast&lt;Document&gt;(*context).hasBrowsingContext();

&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:93
&gt; +void PermissionStatus::dispatchEvent(Event&amp; event)

This override doesn&apos;t seem necessary.

&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:103
&gt; +    m_hasRelevantEventListener = hasEventListeners(eventNames().changeEvent);

Can we call this flag hasChangeEventListener for clarity since there is only one relevant event listener at the moment?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788529</commentid>
    <comment_count>35</comment_count>
      <attachid>436760</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-30 09:25:45 -0700</bug_when>
    <thetext>Comment on attachment 436760
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:9
&gt;&gt; +        Set up basic infrastrcture of permission getting and setting.
&gt; 
&gt; Typo: infrastrcture

Will change.

&gt;&gt; Source/WebCore/Modules/permissions/PermissionController.h:38
&gt;&gt; +class PermissionController : public ThreadSafeRefCounted&lt;PermissionController&gt; {
&gt; 
&gt; Why ThreadSafeRefCounted? Do we really expect such object to be passed to different threads?

We will support this in WorkerNavigator. A way is to subclass this and introduce WorkerPermissionController and MainThreadPermissionController (similar to CacheStorageConnection), so I make it ThreadSafeRefCounted.

&gt;&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:54
&gt;&gt; +    m_origin = ClientOrigin { context.topOrigin().data(), originData };
&gt; 
&gt; WTFMove(originData)

Will change.

&gt;&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:69
&gt;&gt; +    m_hasPendingActivity = true;
&gt; 
&gt; What is this flag? queueTaskToDispatchEvent() takes care of keeping your wrapper alive. This flag seems pointless.

I see; will remove.

&gt;&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:80
&gt;&gt; +    if (m_hasPendingActivity)
&gt; 
&gt; This flag seems pointless

Will remove.

&gt;&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:85
&gt;&gt; +        if (context &amp;&amp; context-&gt;isDocument())
&gt; 
&gt; return is&lt;Document&gt;(context) &amp;&amp; downcast&lt;Document&gt;(*context).hasBrowsingContext();

I thought we want to always return true for workers if m_hasRelevantEventListener is true?

&gt;&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:93
&gt;&gt; +void PermissionStatus::dispatchEvent(Event&amp; event)
&gt; 
&gt; This override doesn&apos;t seem necessary.

Will remove.

&gt;&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:103
&gt;&gt; +    m_hasRelevantEventListener = hasEventListeners(eventNames().changeEvent);
&gt; 
&gt; Can we call this flag hasChangeEventListener for clarity since there is only one relevant event listener at the moment?

Will update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788531</commentid>
    <comment_count>36</comment_count>
      <attachid>436760</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-30 09:28:47 -0700</bug_when>
    <thetext>Comment on attachment 436760
Patch

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

&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:83
&gt; +    if (m_hasRelevantEventListener) {

I would do an early return:
if (!m_hasChangeEventListener)
    return false;

&gt; Source/WebCore/Modules/permissions/Permissions.cpp:71
&gt; +        promise.reject(Exception { InvalidStateError, &quot;The context is invalid&quot; });

&quot;The context is invalid&quot;_s

&gt; Source/WebCore/Modules/permissions/Permissions.h:45
&gt; +class Permissions final : public RefCounted&lt;Permissions&gt; {

Why final? This is not a virtual class.

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:8497
&gt; +void WebPageProxy::requestPermission(const WebCore::ClientOrigin&amp;, const WebCore::PermissionDescriptor&amp;, CompletionHandler&lt;void(WebCore::PermissionState)&gt;&amp;&amp; completionHandler)

WebCore:: is unnecessary in this file.

&gt; Source/WebKit/UIProcess/WebPageProxy.h:2121
&gt; +    void requestPermission(const WebCore::ClientOrigin&amp;, const WebCore::PermissionDescriptor&amp;, CompletionHandler&lt;void(WebCore::PermissionState)&gt;&amp;&amp;);

In WebCore, you pass PermissionDescriptor by value (which seems OK since this is basically just an enum at the moment). However, you&apos;re passing it by reference here. I think we should be consistent.

&gt; Source/WebKit/WebProcess/WebCoreSupport/WebPermissionController.cpp:97
&gt; +    while (!m_requests.isEmpty()) {

Should this function be named tryProcessingRequests() then? Doesn&apos;t look like it only processes one request.

&gt; Source/WebKit/WebProcess/WebCoreSupport/WebPermissionController.cpp:105
&gt; +            auto takenRequest = m_requests.takeFirst();

We don&apos;t need this local variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788537</commentid>
    <comment_count>37</comment_count>
      <attachid>436760</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-30 09:32:12 -0700</bug_when>
    <thetext>Comment on attachment 436760
Patch

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

&gt;&gt;&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:85
&gt;&gt;&gt; +        if (context &amp;&amp; context-&gt;isDocument())
&gt;&gt; 
&gt;&gt; return is&lt;Document&gt;(context) &amp;&amp; downcast&lt;Document&gt;(*context).hasBrowsingContext();
&gt; 
&gt; I thought we want to always return true for workers if m_hasRelevantEventListener is true?

Oh, I misread. My point was really that you could omit the null check for context:
if (is&lt;Document&gt;(context))
    return downcast&lt;Document&gt;(*context).hasBrowsingContext();
return true;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788545</commentid>
    <comment_count>38</comment_count>
      <attachid>436760</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-30 09:44:58 -0700</bug_when>
    <thetext>Comment on attachment 436760
Patch

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

&gt;&gt; Source/WebCore/Modules/permissions/PermissionStatus.cpp:83
&gt;&gt; +    if (m_hasRelevantEventListener) {
&gt; 
&gt; I would do an early return:
&gt; if (!m_hasChangeEventListener)
&gt;     return false;

Sounds good.

&gt;&gt; Source/WebCore/Modules/permissions/Permissions.cpp:71
&gt;&gt; +        promise.reject(Exception { InvalidStateError, &quot;The context is invalid&quot; });
&gt; 
&gt; &quot;The context is invalid&quot;_s

Will add.

&gt;&gt; Source/WebCore/Modules/permissions/Permissions.h:45
&gt;&gt; +class Permissions final : public RefCounted&lt;Permissions&gt; {
&gt; 
&gt; Why final? This is not a virtual class.

Oops.

&gt;&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:8497
&gt;&gt; +void WebPageProxy::requestPermission(const WebCore::ClientOrigin&amp;, const WebCore::PermissionDescriptor&amp;, CompletionHandler&lt;void(WebCore::PermissionState)&gt;&amp;&amp; completionHandler)
&gt; 
&gt; WebCore:: is unnecessary in this file.

Will remove.

&gt;&gt; Source/WebKit/UIProcess/WebPageProxy.h:2121
&gt;&gt; +    void requestPermission(const WebCore::ClientOrigin&amp;, const WebCore::PermissionDescriptor&amp;, CompletionHandler&lt;void(WebCore::PermissionState)&gt;&amp;&amp;);
&gt; 
&gt; In WebCore, you pass PermissionDescriptor by value (which seems OK since this is basically just an enum at the moment). However, you&apos;re passing it by reference here. I think we should be consistent.

Will change the value to reference.

&gt;&gt; Source/WebKit/WebProcess/WebCoreSupport/WebPermissionController.cpp:97
&gt;&gt; +    while (!m_requests.isEmpty()) {
&gt; 
&gt; Should this function be named tryProcessingRequests() then? Doesn&apos;t look like it only processes one request.

Okay.

&gt;&gt; Source/WebKit/WebProcess/WebCoreSupport/WebPermissionController.cpp:105
&gt;&gt; +            auto takenRequest = m_requests.takeFirst();
&gt; 
&gt; We don&apos;t need this local variable.

Okay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788547</commentid>
    <comment_count>39</comment_count>
      <attachid>436784</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-30 09:47:10 -0700</bug_when>
    <thetext>Created attachment 436784
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788549</commentid>
    <comment_count>40</comment_count>
      <attachid>436784</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-30 09:52:30 -0700</bug_when>
    <thetext>Comment on attachment 436784
Patch

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

r=me

&gt; Source/WebKit/WebProcess/WebCoreSupport/WebPermissionController.cpp:65
&gt; +        auto permissionEntries = m_cachedPermissionEntries.get(origin);

Please avoid double-hash table look-up with contains and then get(). (you can use find()).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788557</commentid>
    <comment_count>41</comment_count>
      <attachid>436789</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-08-30 10:19:21 -0700</bug_when>
    <thetext>Created attachment 436789
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788595</commentid>
    <comment_count>42</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-30 11:50:55 -0700</bug_when>
    <thetext>Committed r281771 (241108@main): &lt;https://commits.webkit.org/241108@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436789.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788967</commentid>
    <comment_count>43</comment_count>
      <attachid>436789</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-31 10:51:44 -0700</bug_when>
    <thetext>Comment on attachment 436789
Patch

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

&gt; Source/WebCore/Modules/permissions/PermissionController.h:39
&gt; +    WTF_MAKE_FAST_ALLOCATED;

Not needed since this subclasses ThreadSafeRefCounted.

&gt; Source/WebCore/Modules/permissions/PermissionController.h:45
&gt; +    virtual void removeObserver(PermissionObserver&amp;) = 0;

I recommend making the constructor protected:
```
protected:
    PermissionController() = default;
```

&gt; Source/WebCore/Modules/permissions/PermissionController.h:49
&gt; +    PermissionState query(ClientOrigin&amp;&amp;, PermissionDescriptor&amp;&amp;) final { return PermissionState::Denied; }

The constructor should be private and this needs a factory create() function since this subclasses ThreadSafeRefCounted.

&gt; Source/WebKit/WebProcess/WebCoreSupport/WebPermissionController.h:40
&gt; +    explicit WebPermissionController(WebPage&amp;);

This constructor should be private and there should be a public create() factory function since this subclasses ThreadSafeRefCounted.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435998</attachid>
            <date>2021-08-20 09:36:04 -0700</date>
            <delta_ts>2021-08-20 09:47:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210820093603.patch</filename>
            <type>text/plain</type>
            <size>58593</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDkwNTFmMjEzMTM3ZjA4OGRmMGEyNGU3
ZmVkNjgxYjdhMTlkYTg4YjAuLjc5NGRjMDM3ZWRlOWMwNGRmMmIyM2VjYjI0YjdhYzA5NTc4NjBm
MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMjAgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGZlYXR1cmUgZmxhZyBhbmQgYmluZGluZ3MgZm9y
IFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFs
LnlhbWw6CisKIDIwMjEtMDgtMTggIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZW1vdmUgdW5uZWVkZWQgVUlLaXRTUEkgZGVjbGFyYXRpb25zCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggMTAwMGQ4MzA1MDI5MmJlZjFhYjA0MGZlZGQ4OWRmYTI2OGU1MDA0OC4uY2Rm
ZDI2YTYwNDY1MWVjZGM3Mzc5OGY1ZTUwNWVlNmM0OGY0N2VmNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDUxIEBACisyMDIxLTA4LTIwICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBmZWF0dXJlIGZsYWcgYW5kIGJpbmRpbmdzIGZvciBQZXJtaXNzaW9ucyBB
UEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMz
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNwZWM6
IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8KKworICAgICAgICBObyBuZXcgdGVz
dCwgdGhpcyBwYXRjaCBkb2VzIG5vdCBhZGQgaW1wbGVtZW50YXRpb24sIGFuZCBmZWF0dXJlIGZs
YWcgaXMgb2ZmIGJ5IGRlZmF1bHQuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Np
b25zLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6
TmF2aWdhdG9yUGVybWlzc2lvbnMpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlz
c2lvbnM6OnBlcm1pc3Npb25zKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Np
b25zOjpmcm9tKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBw
bGVtZW50TmFtZSk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJt
aXNzaW9ucy5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Np
b25EZXNjcmlwdG9yLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25OYW1lLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbk5hbWUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0ZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXR1czo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0
dXM6OlBlcm1pc3Npb25TdGF0dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1
czo6YWN0aXZlRE9NT2JqZWN0TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNz
aW9uU3RhdHVzOjpzdXNwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6
OnN0b3ApOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uczo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpQZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJtaXNzaW9uczo6bmF2aWdhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25z
OjpxdWVyeSk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbDogQWRk
ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorCiAyMDIxLTA4LTE4
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IENy
eXB0by5yYW5kb21VVUlEKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXggM2U3YmJl
NjE5ODc0MGYxMWNhYzEzMjVmNjNjYTk5M2JiZjFjMDIzNi4uZjU1NGE0YzM4ZGY3YzQyN2RlY2Nm
ZGVmYWY2ZmMzMGMxOGVlZDE5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZl
cmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNlL1dURi9T
Y3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKQEAgLTg1
Nyw2ICs4NTcsMTggQEAgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ1NlbnNpdGl2ZVByb3BlcnRp
ZXNFbmFibGVkOgogICAgIFdlYkNvcmU6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogCitQZXJtaXNz
aW9uc0FQSUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJQZXJt
aXNzaW9ucyBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQZXJtaXNz
aW9ucyBBUEkiCisgIGRlZmF1bHRWYWx1ZToKKyAgICBXZWJLaXRMZWdhY3k6CisgICAgICBkZWZh
dWx0OiBmYWxzZQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViQ29y
ZToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisKIFByaXZhdGVDbGlja01lYXN1cmVtZW50RGVidWdN
b2RlRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBodW1hblJlYWRhYmxlTmFtZTogIlByaXZhdGUg
Q2xpY2sgTWVhc3VyZW1lbnQgRGVidWcgTW9kZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMDE1
NDJkZjIxNGVhYmZkNTJhM2I3MGE0YzhmZjA3MWE2Y2UzNWIyYi4uNGY5OGI1YmM5OTNkMDE3MDFl
ZjhiMzAyNWUxNmZlM2NmNDJjNzMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ1OCw2ICs0
NTgsMTMgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL3BheW1l
bnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ1R5cGUuaWRsCiAgICAgTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9QYXltZW50VmFsaWRhdGlvbkVycm9ycy5pZGwKIAorICAgIE1vZHVsZXMvcGVybWlzc2lv
bnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
TmFtZS5pZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwKKyAg
ICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCisgICAgTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwKKwogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVy
ZS9Eb2N1bWVudCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGljdHVyZWlucGlj
dHVyZS9Eb2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVs
ZXMvcGljdHVyZWlucGljdHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGM1M2U0
MjIyZjA5NWJiNDVjZGJkNjZiOGVjOWQ4MDlhZTBlYzE4MDIuLjg2ZmUxZDQyZTdjOWExMjU4YmM3
N2Y5MDg2ZWRkMmNkNWExN2Q3NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMzg2LDYgKzM4NiwxMiBAQCAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdUeXBlLmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVy
cm9ycy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Bl
cm1pc3Npb25zLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uRGVzY3JpcHRvci5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbk5hbWUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25TdGF0ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvblN0YXR1cy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1l
bnQrUGljdHVyZUluUGljdHVyZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlu
cGljdHVyZS9Eb2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2
ZW50LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdAppbmRleCA5MWZjNmIzNmM2NTMwYmJmZmZjMTI0MDI3MWVlYTY3ZjY0Nzc3NGM0Li5kMzUw
MzY0YmJhYjVjZTk3MTYzMzExZWMxOTUwMTQ1NGEyZTVjZWZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMzEyLDYgKzMxMiw4IEBA
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTTWVkaWFS
dWxlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlND
U1NNZWRpYVJ1bGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NOYW1lc3BhY2VSdWxlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNDU1NOYW1lc3BhY2VSdWxlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTTnVtZXJpY1ZhbHVlLmNwcAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NOdW1lcmljVmFsdWUuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NQYWdlUnVs
ZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NT
UGFnZVJ1bGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNDU1NQYWludENhbGxiYWNrLmNwcApAQCAtMzI2LDE2ICszMjgsMjQgQEAgJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZURlY2xhcmF0aW9uK1By
b3BlcnR5TmFtZXMKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQ1NTU3R5bGVEZWNsYXJhdGlvbitQcm9wZXJ0eU5hbWVzLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVEZWNs
YXJhdGlvbi5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NTU1N0eWxlSW1hZ2VWYWx1ZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVJbWFnZVZhbHVlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVSdWxlLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVJ1bGUuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVNoZWV0LmNw
cAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHls
ZVNoZWV0LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
Q1NTU3R5bGVWYWx1ZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQ1NTU3R5bGVWYWx1ZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0NTU1N1cHBvcnRzUnVsZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3VwcG9ydHNSdWxlLmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTVHJhbnNpdGlvbi5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTVHJhbnNpdGlv
bi5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1Vu
aXRWYWx1ZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQ1NTVW5pdFZhbHVlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQ1NTVW5rbm93blJ1bGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1Vua25vd25SdWxlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTVW5wYXJzZWRWYWx1ZS5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTVW5wYXJzZWRWYWx1ZS5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NhY2hlUXVl
cnlPcHRpb25zLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDYWNoZVF1ZXJ5T3B0aW9ucy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcApAQCAtMTM2
Nyw2ICsxMzc3LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOYXZpZ2F0b3IrTWVkaWFEZXZpY2VzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFEZXZpY2VzLmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vz
c2lvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
TmF2aWdhdG9yK01lZGlhU2Vzc2lvbi5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitQZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1Blcm1pc3Npb25zLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9y
K1dlYkRyaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTmF2aWdhdG9yK1dlYkRyaXZlci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitXZWJYUi5jcHAKQEAgLTE1NzMsNiArMTU4NSwx
NiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcmlv
ZGljV2F2ZUNvbnN0cmFpbnRzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJpb2RpY1dhdmVDb25zdHJhaW50cy5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2
ZU9wdGlvbnMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNQZXJtaXNzaW9uRGVzY3JpcHRvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbkRlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uTmFtZS5jcHAKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbk5hbWUu
aAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNz
aW9uU3RhdGUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1Blcm1pc3Npb25TdGF0ZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0dXMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0dXMuaAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9ucy5jcHAKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbnMuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5Q
aWN0dXJlV2luZG93LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNQaWN0dXJlSW5QaWN0dXJlV2luZG93LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGxheWJhY2tEaXJlY3Rpb24uY3BwCkBAIC0yMjQxLDE2
ICsyMjYzLDYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNUcmVlV2Fsa2VyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNUcmVlV2Fsa2VyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTVHlwZUNvbnZlcnNpb25zLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUeXBlQ29udmVyc2lvbnMuaAotJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZUltYWdlVmFsdWUuY3BwCi0k
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N0eWxlSW1h
Z2VWYWx1ZS5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NTU051bWVyaWNWYWx1ZS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQ1NTTnVtZXJpY1ZhbHVlLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVWYWx1ZS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVWYWx1ZS5oCi0kKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1VuaXRWYWx1ZS5jcHAKLSQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTVW5pdFZhbHVl
LmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTVW5w
YXJzZWRWYWx1ZS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTQ1NTVW5wYXJzZWRWYWx1ZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1VJRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1VJRXZlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNVSUV2ZW50SW5pdC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCmluZGV4IDA0MjIxZjM5NjczOTJhOWUxMjYzNDI2ZGY2NDViMzk2NzQzYmY5MWMuLjYz
Y2M3ZGM5ZDZhNWE2MmU2NTg2OTc3NmY3YTMxY2EzOWJjMTRiYTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtMzIyLDYgKzMyMiwxMiBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdPcHRp
b24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNo
aXBwaW5nVHlwZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50VmFsaWRhdGlvbkVycm9ycy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJt
aXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbCBcCisgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5Q
aWN0dXJlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9j
dW1lbnQrUGljdHVyZUluUGljdHVyZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0
dXJlaW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmlkbCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9u
cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJt
aXNzaW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBiMTI3ZTdmM2ExYzU2NjZjZDBkMGM4OGZlOTExZTk2
YzgzNGY2NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNuYXZpZ2F0b3ItYW5k
LXdvcmtlcm5hdmlnYXRvci1leHRlbnNpb24KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVy
bWlzc2lvbnNBUEksCisgICAgSW1wbGVtZW50ZWRCeT1OYXZpZ2F0b3JQZXJtaXNzaW9ucworXSBw
YXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgeworICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBh
dHRyaWJ1dGUgUGVybWlzc2lvbnMgcGVybWlzc2lvbnM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zOTFmNTU1ODg2ZDhlNzFhMzQ5ZWU3NWJmM2M0MTZmMDJmMWM0N2FiCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZp
Z2F0b3JQZXJtaXNzaW9ucy5jcHAKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oIgorCisjaW5j
bHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbnMuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMo
TmF2aWdhdG9yJiBuYXZpZ2F0b3IpCisgICAgOiBtX25hdmlnYXRvcihuYXZpZ2F0b3IpCit7Cit9
CisKK1JlZlB0cjxQZXJtaXNzaW9ucz4gTmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25z
KE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIHJldHVybiBOYXZpZ2F0b3JQZXJtaXNzaW9u
czo6ZnJvbShuYXZpZ2F0b3IpLT5wZXJtaXNzaW9ucygpOworfQorCitSZWZQdHI8UGVybWlzc2lv
bnM+IE5hdmlnYXRvclBlcm1pc3Npb25zOjpwZXJtaXNzaW9ucygpCit7CisgICAgaWYgKCFtX3Bl
cm1pc3Npb25zKQorICAgICAgICBtX3Blcm1pc3Npb25zID0gUGVybWlzc2lvbnM6OmNyZWF0ZSht
X25hdmlnYXRvcik7CisKKyAgICByZXR1cm4gbV9wZXJtaXNzaW9uczsKK30KKworTmF2aWdhdG9y
UGVybWlzc2lvbnMqIE5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKE5hdmlnYXRvciYgbmF2aWdh
dG9yKQoreworICAgIGF1dG8qIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JQZXJt
aXNzaW9ucyo+KFN1cHBsZW1lbnQ8TmF2aWdhdG9yPjo6ZnJvbSgmbmF2aWdhdG9yLCBzdXBwbGVt
ZW50TmFtZSgpKSk7CisgICAgaWYgKCFzdXBwbGVtZW50KSB7CisgICAgICAgIGF1dG8gbmV3U3Vw
cGxlbWVudCA9IG1ha2VVbmlxdWU8TmF2aWdhdG9yUGVybWlzc2lvbnM+KG5hdmlnYXRvcik7Cisg
ICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOworICAgICAgICBwcm92aWRl
VG8oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7
CisgICAgfQorCisgICAgcmV0dXJuIHN1cHBsZW1lbnQ7Cit9CisKK2NvbnN0IGNoYXIqIE5hdmln
YXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFtZSgpCit7CisgICAgcmV0dXJuICJOYXZpZ2F0
b3JQZXJtaXNzaW9ucyI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lv
bnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43MGE3MzlkYTcxNDQwYzdhMzNiMjMyY2FlOTgzNTIwMTlmZGE0NDRj
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9O
YXZpZ2F0b3JQZXJtaXNzaW9ucy5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgTmF2aWdhdG9yOworY2xhc3MgUGVybWlzc2lvbnM7CisKK2NsYXNzIE5h
dmlnYXRvclBlcm1pc3Npb25zIGZpbmFsIDogcHVibGljIFN1cHBsZW1lbnQ8TmF2aWdhdG9yPiB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgZXhwbGljaXQgTmF2
aWdhdG9yUGVybWlzc2lvbnMoTmF2aWdhdG9yJik7CisKKyAgICBzdGF0aWMgUmVmUHRyPFBlcm1p
c3Npb25zPiBwZXJtaXNzaW9ucyhOYXZpZ2F0b3ImKTsKKyAgICBSZWZQdHI8UGVybWlzc2lvbnM+
IHBlcm1pc3Npb25zKCk7CisKK3ByaXZhdGU6CisgICAgc3RhdGljIE5hdmlnYXRvclBlcm1pc3Np
b25zKiBmcm9tKE5hdmlnYXRvciYpOworICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50
TmFtZSgpOworCisgICAgUmVmUHRyPFBlcm1pc3Npb25zPiBtX3Blcm1pc3Npb25zOworICAgIE5h
dmlnYXRvciYgbV9uYXZpZ2F0b3I7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2M4OTlhNzIyNjBiYzlkMGMwMGEyMDc1ODNjNWY3ODQ1NTg5MDRkMQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2Ny
aXB0b3IuaApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlICJQZXJtaXNzaW9uTmFtZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVj
dCBQZXJtaXNzaW9uRGVzY3JpcHRvciB7CisgICAgUGVybWlzc2lvbk5hbWUgbmFtZTsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NGYzNmEzMmEyY2NjZDMzOTkzOWI3ZGU4MzVkZmVkYmJmNGY1N2NjOAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0
b3IuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRo
dWIuaW8vcGVybWlzc2lvbnMvI2RpY3RkZWYtcGVybWlzc2lvbmRlc2NyaXB0b3IKKworWworICAg
IEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCitdIGRpY3Rpb25hcnkgUGVybWlzc2lv
bkRlc2NyaXB0b3IgeworICAgIHJlcXVpcmVkIFBlcm1pc3Npb25OYW1lIG5hbWU7Cit9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFt
ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmY4YWJhMWE5YzFjMGIwY2U0YTUyNWY0Nzc4OTY0MmU0MjM1NGY5MzAKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25OYW1lLmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgUGVybWlzc2lvbk5hbWUgeworICAg
IEFjY2VsZXJvbWV0ZXIsCisgICAgQW1iaWVudExpZ2h0U2Vuc29yLAorICAgIEJhY2tncm91bmRG
ZXRjaCwKKyAgICBCYWNrZ3JvdW5kU3luYywKKyAgICBCbHVldG9vdGgsCisgICAgQ2FtZXJhLAor
ICAgIERpc3BsYXlDYXB0dXJlLAorICAgIEdlb2xvY2F0aW9uLAorICAgIEd5cm9zY29wZSwKKyAg
ICBNYWduZXRvbWV0ZXIsCisgICAgTWljcm9waG9uZSwKKyAgICBNaWRpLAorICAgIE5mYywKKyAg
ICBOb3RpZmljYXRpb25zLAorICAgIFBlcnNpc3RlbnRTdG9yYWdlLAorICAgIFB1c2gsCisgICAg
U2NyZWVuV2FrZUxvY2ssCisgICAgU3BlYWtlclNlbGVjdGlvbgorfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uTmFtZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25OYW1lLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kM2FjZGYyOGM2NDIxMTBlYjYxMGZlOWU5
ODdiNmJlNjdkZGRhNjIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jZW51bWRlZi1wZXJt
aXNzaW9ubmFtZQorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKK10g
ZW51bSBQZXJtaXNzaW9uTmFtZSB7CisgICAgImFjY2VsZXJvbWV0ZXIiLAorICAgICJhbWJpZW50
LWxpZ2h0LXNlbnNvciIsCisgICAgImJhY2tncm91bmQtZmV0Y2giLAorICAgICJiYWNrZ3JvdW5k
LXN5bmMiLAorICAgICJibHVldG9vdGgiLAorICAgICJjYW1lcmEiLAorICAgICJkaXNwbGF5LWNh
cHR1cmUiLAorICAgICJnZW9sb2NhdGlvbiIsCisgICAgImd5cm9zY29wZSIsCisgICAgIm1hZ25l
dG9tZXRlciIsCisgICAgIm1pY3JvcGhvbmUiLAorICAgICJtaWRpIiwKKyAgICAibmZjIiwKKyAg
ICAibm90aWZpY2F0aW9ucyIsCisgICAgInBlcnNpc3RlbnQtc3RvcmFnZSIsCisgICAgInB1c2gi
LAorICAgICJzY3JlZW4td2FrZS1sb2NrIiwKKyAgICAic3BlYWtlci1zZWxlY3Rpb24iCit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
U3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTI4NTFmMDI0OTU5NDhlODNhMzRmYzM0MWQwNDkxNmU0MTA3YTQx
MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvblN0YXRlLmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgUGVybWlzc2lvblN0YXRl
IHsKKyAgICBHcmFudGVkLAorICAgIERlbmllZCwKKyAgICBQcm9tcHQKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTc3OTc4MTJkMTk4NjllZjNl
NTFhMmRiOWVhOGE3YWYxNjhhYzliCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsCkBAIC0wLDAgKzEsMzQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1k
ZWYtcGVybWlzc2lvbnN0YXRlCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25z
QVBJLAorXSBlbnVtIFBlcm1pc3Npb25TdGF0ZSB7CisgICAgImdyYW50ZWQiLAorICAgICJkZW5p
ZWQiLAorICAgICJwcm9tcHQiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjIwZDc4ODYz
YmExN2RkZDE0ZmFlNjBlM2FkNjEwNzg3ZTgzYzUwZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKQEAgLTAs
MCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQ
ZXJtaXNzaW9uU3RhdHVzLmgiCisKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChQZXJt
aXNzaW9uU3RhdHVzKTsKKworUmVmPFBlcm1pc3Npb25TdGF0dXM+IFBlcm1pc3Npb25TdGF0dXM6
OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBQZXJtaXNzaW9uU3RhdGUg
c3RhdGUsIFBlcm1pc3Npb25OYW1lIG5hbWUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
UGVybWlzc2lvblN0YXR1cyhjb250ZXh0LCBzdGF0ZSwgbmFtZSkpOworfQorCitQZXJtaXNzaW9u
U3RhdHVzOjpQZXJtaXNzaW9uU3RhdHVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSwgUGVybWlzc2lvbk5hbWUgbmFtZSkKKyAgICA6IEFjdGl2
ZURPTU9iamVjdCgmY29udGV4dCkKKyAgICAsIG1fc3RhdGUoc3RhdGUpCisgICAgLCBtX25hbWUo
bmFtZSkKK3sKK30KKworY29uc3QgY2hhciogUGVybWlzc2lvblN0YXR1czo6YWN0aXZlRE9NT2Jq
ZWN0TmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuICJQZXJtaXNzaW9uU3RhdHVzIjsKK30KKwor
dm9pZCBQZXJtaXNzaW9uU3RhdHVzOjpzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pCit7Cit9
CisKK3ZvaWQgUGVybWlzc2lvblN0YXR1czo6c3RvcCgpCit7Cit9CisKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uU3RhdHVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25TdGF0dXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOTZlNWMxM2JhMGRjYjg3N2E0ZDgwNjQw
MWNhYzhkMjc2ZTQyYjE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5j
bHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uTmFtZS5oIgorI2luY2x1
ZGUgIlBlcm1pc3Npb25TdGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIFBlcm1pc3Npb25TdGF0dXMgZmluYWwgOiBw
dWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgUmVmQ291bnRlZDxQZXJtaXNzaW9uU3RhdHVz
PiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgIHsKKyAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKFBlcm1pc3Npb25TdGF0dXMpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UGVy
bWlzc2lvblN0YXR1cz4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBQZXJtaXNzaW9u
U3RhdGUsIFBlcm1pc3Npb25OYW1lKTsKKworICAgIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fc3RhdGU7IH0KKyAgICBQZXJtaXNzaW9uTmFtZSBuYW1lKCkgY29uc3Qg
eyByZXR1cm4gbV9uYW1lOyB9CisKKyAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CisgICAgdXNp
bmcgUmVmQ291bnRlZDo6ZGVyZWY7CisKK3ByaXZhdGU6CisgICAgUGVybWlzc2lvblN0YXR1cyhT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUGVybWlzc2lvblN0YXRlLCBQZXJtaXNzaW9uTmFtZSk7
CisKKyAgICAvLyBBY3RpdmVET01PYmplY3QKKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QgZmluYWw7CisgICAgdm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNp
b24pIGZpbmFsOworICAgIHZvaWQgc3RvcCgpIGZpbmFsOworCisgICAgLy8gRXZlbnRUYXJnZXQK
KyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29u
c3QgZmluYWwgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCk7IH0KKyAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIFNwZWVjaFJlY29nbml0aW9uRXZlbnRUYXJnZXRJbnRlcmZhY2VU
eXBlOyB9CisgICAgdm9pZCByZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVmKCk7IH0KKyAgICB2
b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KKworICAgIFBlcm1pc3Np
b25TdGF0ZSBtX3N0YXRlOworICAgIFBlcm1pc3Npb25OYW1lIG1fbmFtZTsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiNzgxNDJlNjk5ZTIw
ZTZiZTg2Y2M1Y2UyMDU2ZDFkZWI2OTJlZDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCkBAIC0wLDAgKzEs
MzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworIAorLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25z
LyNwZXJtaXNzaW9uc3RhdHVzCisKK1sKKyAgICBBY3RpdmVET01PYmplY3QsCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKQor
XSBpbnRlcmZhY2UgUGVybWlzc2lvblN0YXR1cyA6IEV2ZW50VGFyZ2V0IHsKKyAgICByZWFkb25s
eSBhdHRyaWJ1dGUgUGVybWlzc2lvblN0YXRlIHN0YXRlOworICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBQZXJtaXNzaW9uTmFtZSBuYW1lOworICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jaGFu
Z2U7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzI4NWZlMWU1ZWQ1YzNlNzcwZWVmYjk3ZDU4NWRlMTQ4
NDU4YWM0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9ucy5jcHAKQEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9ucy5oIgorCisjaW5jbHVkZSAiRXhj
ZXB0aW9uLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJK
U1Blcm1pc3Npb25EZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVk
ZSAiUGVybWlzc2lvbkRlc2NyaXB0b3IuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5l
cy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1Q
TChQZXJtaXNzaW9ucyk7CisKK1JlZjxQZXJtaXNzaW9ucz4gUGVybWlzc2lvbnM6OmNyZWF0ZShO
YXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJtaXNz
aW9ucyhuYXZpZ2F0b3IpKTsKK30KKworUGVybWlzc2lvbnM6OlBlcm1pc3Npb25zKE5hdmlnYXRv
ciYgbmF2aWdhdG9yKQorICAgIDogbV9uYXZpZ2F0b3IobWFrZVdlYWtQdHIobmF2aWdhdG9yKSkK
K3sKK30KKworTmF2aWdhdG9yKiBQZXJtaXNzaW9uczo6bmF2aWdhdG9yKCkKK3sKKyAgICByZXR1
cm4gbV9uYXZpZ2F0b3IuZ2V0KCk7Cit9CisKK3ZvaWQgUGVybWlzc2lvbnM6OnF1ZXJ5KEpTQzo6
SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4g
cGVybWlzc2lvbkRlc2NyaXB0b3JWYWx1ZSwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFj
ZTxQZXJtaXNzaW9uU3RhdHVzPj4mJiBwcm9taXNlKQoreworICAgIEpTQzo6Vk0mIHZtID0gZ2xv
YmFsT2JqZWN0LnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0p
OworCisgICAgaWYgKCFwZXJtaXNzaW9uRGVzY3JpcHRvclZhbHVlKSB7CisgICAgICAgIHByb21p
c2UucmVqZWN0KEV4Y2VwdGlvbiB7IERhdGFFcnJvciwgIlRoZSBwYXJhbWV0ZXIgaXMgaW52YWxp
ZCJfcyB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gcGFyYW1ldGVyRGVz
Y3JpcHRvciA9IGNvbnZlcnQ8SURMRGljdGlvbmFyeTxQZXJtaXNzaW9uRGVzY3JpcHRvcj4+KGds
b2JhbE9iamVjdCwgcGVybWlzc2lvbkRlc2NyaXB0b3JWYWx1ZS5nZXQoKSk7CisgICAgaWYgKFVO
TElLRUxZKHNjb3BlLmV4Y2VwdGlvbigpKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNl
cHRpb24geyBFeGlzdGluZ0V4Y2VwdGlvbkVycm9yIH0pOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgVU5VU0VEX1BBUkFNKHBhcmFtZXRlckRlc2NyaXB0b3IpOworICAgIHByb21pc2Uu
cmVqZWN0KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCAiTm90IGltcGxlbWVudGVkIl9z
IH0pOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE4MmMzYzM5NTEx
NTU5NGQzY2VhMmUxYTA5ZTVlODYyYWU0MjcxYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaApAQCAtMCwwICsxLDU4IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJJRExUeXBlcy5oIgorI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0cm9uZy5oPgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2Mu
aD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCituYW1lc3BhY2UgSlNDIHsKK2NsYXNzIEpT
T2JqZWN0OworfSAvLyBuYW1lc3BhY2UgSlNDCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgTmF2aWdhdG9yOworY2xhc3MgUGVybWlzc2lvblN0YXR1czsKKwordGVtcGxhdGU8dHlwZW5h
bWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCitjbGFzcyBQZXJtaXNzaW9u
cyBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcm1pc3Npb25zPiB7CisgICAgV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRChQZXJtaXNzaW9ucyk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJt
aXNzaW9ucz4gY3JlYXRlKE5hdmlnYXRvciYpOworCisgICAgTmF2aWdhdG9yKiBuYXZpZ2F0b3Io
KTsKKyAgICB2b2lkIHF1ZXJ5KEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OlN0cm9uZzxKU0M6
OkpTT2JqZWN0PiwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQZXJtaXNzaW9uU3Rh
dHVzPj4mJik7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgUGVybWlzc2lvbnMoTmF2aWdhdG9y
Jik7CisKKyAgICBXZWFrUHRyPE5hdmlnYXRvcj4gbV9uYXZpZ2F0b3I7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbnMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyZDEzZTdjNzk4NjEyYjQyMzYzNzdmZmVl
M2MxMWQ2Y2MzMjE0YmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNwZXJtaXNzaW9ucy1pbnRl
cmZhY2UKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCisgICAgR2Vu
ZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVGcm9tTmF2aWdhdG9yLAorICAgIEltcGxlbWVudGF0
aW9uTGFja3NWVGFibGUsCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKK10gaW50ZXJmYWNl
IFBlcm1pc3Npb25zIHsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSBQcm9taXNlPFBlcm1p
c3Npb25TdGF0dXM+IHF1ZXJ5KG9iamVjdCBwZXJtaXNzaW9uRGVzYyk7Cit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dAppbmRleCBiOWU4YmIxZjUyMTE0ZDFhNmMzYmFjNTZjMGM1ZTJmMzAxYWRkYzFkLi41NDhkNDY2
NmUwNTc2NTQ4YTcyZDBmNjkyNzdhMDYwODQzZjM1NDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMjAx
LDYgKzIwMSw5IEBAIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCiBN
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCiBNb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXRpbGl0aWVzLmNwcAogTW9kdWxlcy9w
YXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuY3BwCitNb2R1bGVzL3Blcm1pc3Npb25zL05h
dmlnYXRvclBlcm1pc3Npb25zLmNwcAorTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3Rh
dHVzLmNwcAorTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAKIE1vZHVsZXMvcGlj
dHVyZWlucGljdHVyZS9Eb2N1bWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCiBNb2R1bGVzL3BpY3R1
cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuY3BwCiBNb2R1bGVzL3BpY3R1
cmVpbnBpY3R1cmUvSFRNTFZpZGVvRWxlbWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCkBAIC0zMjY5
LDYgKzMyNzIsMTEgQEAgSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAKIEpTUGVyaW9kaWNXYXZlLmNw
cAogSlNQZXJpb2RpY1dhdmVDb25zdHJhaW50cy5jcHAKIEpTUGVyaW9kaWNXYXZlT3B0aW9ucy5j
cHAKK0pTUGVybWlzc2lvbkRlc2NyaXB0b3IuY3BwCitKU1Blcm1pc3Npb25OYW1lLmNwcAorSlNQ
ZXJtaXNzaW9uU3RhdGUuY3BwCitKU1Blcm1pc3Npb25TdGF0dXMuY3BwCitKU1Blcm1pc3Npb25z
LmNwcAogSlNQaWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcAogSlNQbGF5YmFja0RpcmVjdGlvbi5j
cHAKIEpTUG9pbnRlckV2ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDg0YzdkZWY3NmI3YTJkNzU0ODJiMmJiOWYwOGZm
MDFiZTI1MjU0YjkuLjJhNjA5ZDNhZTczNTQzNjJmNGVlMGRiMjk1MmQ0MGM0Zjk5MGNhNjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTI4NzQsNiArMjg3NCwxMiBAQAogCQk5M0E4MDYxNzFFMDNCNTFDMDA4QTFGMjYgLyogTG9u
Z1JhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
M0E4MDYxMzFFMDNCNTFDMDA4QTFGMjYgLyogTG9uZ1JhbmdlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNBODA2MUUxRTAzQjU4NTAwOEExRjI2
IC8qIEpTRG91YmxlUmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzQTgwNjFBMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJhbmdlLmggKi87
IH07CiAJCTkzQTgwNjIwMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBODA2MUMxRTAzQjU4NTAw
OEExRjI2IC8qIEpTTG9uZ1JhbmdlLmggKi87IH07CisJCTkzQjBBNjUzMjZDREQxNDEwMEFBMjFF
NCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBl
cm1pc3Npb25zLmggKi87IH07CisJCTkzQjBBNjU0MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNz
aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNC
MEE2NEIyNkNERDEzRTAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmggKi87IH07CisJCTkzQjBBNjU2
MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY0RDI2Q0REMTNGMDBBQTIxRTQgLyog
UGVybWlzc2lvblN0YXR1cy5oICovOyB9OworCQk5M0IwQTY1NzI2Q0REMTQxMDBBQTIxRTQgLyog
UGVybWlzc2lvbkRlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzQjBBNjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3Jp
cHRvci5oICovOyB9OworCQk5M0IwQTY1OTI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbk5h
bWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBB
NjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oICovOyB9OworCQk5M0IwQTY1
QjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY1MjI2Q0REMTQxMDBBQTIxRTQgLyog
UGVybWlzc2lvblN0YXRlLmggKi87IH07CiAJCTkzQjJEODE2MEY5OTIwRDIwMDZBRTZCMiAvKiBT
dWRkZW5UZXJtaW5hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNCMzhF
QzMyNTgyMURCNDAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IzOEVCQTI1ODIxOTNCMDAx
OThFNjMgLyogV2ViU3BlZWNoUmVjb2duaXplclRhc2suaCAqLzsgfTsKIAkJOTNCMzhFQzQyNTgy
MURCNzAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMzhFQkIyNTgyMTkzRDAwMTk4
RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oICovOyB9OwpAQCAtMTE2ODIsNiAr
MTE2ODgsMjEgQEAKIAkJOTNBODA2MUExRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFuZ2Uu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEb3VibGVSYW5nZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0E4MDYxQjFFMDNCNTg1MDA4QTFGMjYgLyogSlNM
b25nUmFuZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNMb25n
UmFuZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0E4MDYxQzFFMDNCNTg1
MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNMb25nUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDQy
NkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gUGVybWlzc2lvblN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTNCMEE2NDUyNkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ2MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
TmFtZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvbk5hbWUuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0NzI2Q0RDNUI3MDBBQTIxRTQgLyogTmF2
aWdhdG9yK1Blcm1pc3Npb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiTmF2aWdhdG9y
K1Blcm1pc3Npb25zLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ4
MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gUGVybWlzc2lvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0
OTI2Q0RDNUI4MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTkzQjBBNjRBMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0QjI2Q0REMTNFMDBBQTIxRTQgLyog
UGVybWlzc2lvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lv
bnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEMyNkNERDEzRTAwQUEy
MUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0RTI2Q0REMTNGMDBBQTIxRTQgLyog
UGVybWlzc2lvbkRlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UGVybWlzc2lvbkRlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNC
MEE2NEYyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uTmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uTmFt
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MTI2Q0REMTQwMDBBQTIx
RTQgLyogUGVybWlzc2lvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUGVybWlzc2lvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1
MjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk5M0IyRDgxNTBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3VkZGVuVGVybWluYXRpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMkQ4MTcwRjk5MjBFRTAwNkFFNkIyIC8qIFN1
ZGRlblRlcm1pbmF0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gU3VkZGVuVGVybWluYXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkz
QjM4RUI4MjU4MjE4OTkwMDE5OEU2MyAvKiBTcGVlY2hSZWNvZ25pemVyQ29jb2EubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTcGVlY2hSZWNvZ25pemVyQ29jb2Eu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzE1NSw2ICsyMzE3NiwyOCBAQAog
CQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTkzQjBB
NjQyMjZDREM1NzQwMEFBMjFFNCAvKiBwZXJtaXNzaW9ucyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdy
b3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJOTNCMEE2NDcyNkNEQzVCNzAwQUEyMUU0IC8qIE5h
dmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgKi8sCisJCQkJOTNCMEE2NEMyNkNERDEzRTAwQUEyMUU0
IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcCAqLywKKwkJCQk5M0IwQTY0QTI2Q0REMTNFMDBB
QTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCAqLywKKwkJCQk5M0IwQTY0RTI2Q0REMTNG
MDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCAqLywKKwkJCQk5M0IwQTY0NTI2Q0RD
NUI2MDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsICovLAorCQkJCTkzQjBBNjUw
MjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oICovLAorCQkJCTkzQjBBNjQ2MjZD
REM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5pZGwgKi8sCisJCQkJOTNCMEE2NTEyNkNE
RDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmNwcCAqLywKKwkJCQk5M0IwQTY0QjI2Q0REMTNF
MDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCAqLywKKwkJCQk5M0IwQTY0ODI2Q0RDNUI3MDBBQTIx
RTQgLyogUGVybWlzc2lvbnMuaWRsICovLAorCQkJCTkzQjBBNjUyMjZDREQxNDEwMEFBMjFFNCAv
KiBQZXJtaXNzaW9uU3RhdGUuaCAqLywKKwkJCQk5M0IwQTY0NDI2Q0RDNUI2MDBBQTIxRTQgLyog
UGVybWlzc2lvblN0YXRlLmlkbCAqLywKKwkJCQk5M0IwQTY0RjI2Q0REMTQwMDBBQTIxRTQgLyog
UGVybWlzc2lvblN0YXR1cy5jcHAgKi8sCisJCQkJOTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0IC8q
IFBlcm1pc3Npb25TdGF0dXMuaCAqLywKKwkJCQk5M0IwQTY0OTI2Q0RDNUI4MDBBQTIxRTQgLyog
UGVybWlzc2lvblN0YXR1cy5pZGwgKi8sCisJCQkpOworCQkJcGF0aCA9IHBlcm1pc3Npb25zOwor
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJOTNCMzhFQjYyNTgyMTgzMzAwMTk4
RTYzIC8qIGNvY29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
QEAgLTIzNzYwLDYgKzIzODAzLDcgQEAKIAkJCQk3MUQ2QUEzOTFEQTRFQUY3MDBCMjM5NjkgLyog
bW9kZXJuLW1lZGlhLWNvbnRyb2xzICovLAogCQkJCTMzM0Y3MDNEMEZCNDlDMTYwMDhFMTJBNiAv
KiBub3RpZmljYXRpb25zICovLAogCQkJCUExRjc2QjBFMUY0NEMwQ0YwMDE0QzMxOCAvKiBwYXlt
ZW50cmVxdWVzdCAqLywKKwkJCQk5M0IwQTY0MjI2Q0RDNTc0MDBBQTIxRTQgLyogcGVybWlzc2lv
bnMgKi8sCiAJCQkJMURFRjA2QTIyMzNDMzJEQjAwRUUyMjhEIC8qIHBpY3R1cmVpbnBpY3R1cmUg
Ki8sCiAJCQkJMDcyQUUxREUxODNDMDUxMzAwMEE1OTg4IC8qIHBsdWdpbnMgKi8sCiAJCQkJQ0RD
MzEyRTAyMkZDRDBCMDAwMTIwNEVDIC8qIHJlbW90ZXBsYXliYWNrICovLApAQCAtMzM3MjMsNiAr
MzM3NjcsNyBAQAogCQkJCTZCNTA3QTI0MjM0QkYzNDEwMEJFN0M2MiAvKiBOYXZpZ2F0b3JJc0xv
Z2dlZEluLmggaW4gSGVhZGVycyAqLywKIAkJCQk1RUE3MjVENjFBQ0FCRDU3MDBFQUQxN0IgLyog
TmF2aWdhdG9yTWVkaWFEZXZpY2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzdCQTU3MjI2MEZB
MDE0MDA3MkYxOUYgLyogTmF2aWdhdG9yTWVkaWFTZXNzaW9uLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk5M0IwQTY1MzI2Q0REMTQxMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTk5NkU1OURGMURGMDEyOEQwMDY2MTJCOSAvKiBOYXZpZ2F0b3JXZWJE
cml2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUU4Qjc4MjQxMzE5MUYwMEU3OTRENiAvKiBO
YXZpZ2F0b3JXZWJYUi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEEzMDlDOUYxMjM5NTBCRTAwQ0I5
MjA0IC8qIE5lc3RpbmdMZXZlbEluY3JlbWVudGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTMzOTIy
LDYgKzMzOTY3LDExIEBACiAJCQkJRkQ1ODFGQjUxNTIwRjkzQjAwM0E3QTc1IC8qIFBlcmlvZGlj
V2F2ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTc1NUU4OTIyNEM3NDM0QjAwOUY3QzIzIC8qIFBl
cmlvZGljV2F2ZUNvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNzU1RTg5OTI0Qzc0
NjFEMDA5RjdDMjMgLyogUGVyaW9kaWNXYXZlT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
OTNCMEE2NTcyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk5M0IwQTY1OTI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUu
aCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjU0MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNz
aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NUIyNkNERDE0MTAwQUEyMUU0IC8qIFBl
cm1pc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTYyNkNERDE0MTAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RDVEQzJFMEY0
MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMURCQzFCNTYyMzQ3QjNEMjAwQjkwMUFGIC8qIFBpY3R1cmVJblBpY3R1cmVP
YnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUQyQzgyQjcyMzZBM0Y2QTAwNTVENkM1IC8q
IFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBjZGI1MmUxMDlj
MTg2ODI2NGRiZjJkOTQwOTgyZDk2MzQxYTUwMWJlLi5hYmQ4ZDJkOGQ4OGI1YzcwNmYxZTY3MmQ2
MmVjZDhlMDViMDgwYmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
ZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xNTQsNiArMTU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIG1hY3JvKE1vY2tSVENSdHBUcmFuc2Zvcm0pIFwKICAgICBtYWNybyhOYXZpZ2F0b3JD
cmVkZW50aWFscykgXAogICAgIG1hY3JvKE5hdmlnYXRvck1lZGlhRGV2aWNlcykgXAorICAgIG1h
Y3JvKE5hdmlnYXRvclBlcm1pc3Npb25zKSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yVXNlck1lZGlh
KSBcCiAgICAgbWFjcm8oT2ZmbGluZUF1ZGlvQ29udGV4dCkgXAogICAgIG1hY3JvKE9mZnNjcmVl
bkNhbnZhcykgXApAQCAtMTgyLDYgKzE4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBt
YWNybyhQZXJmb3JtYW5jZVBhaW50VGltaW5nKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlU2VydmVyVGltaW5nKSBcCisgICAg
bWFjcm8oUGVybWlzc2lvbkRlc2NyaXB0b3IpIFwKKyAgICBtYWNybyhQZXJtaXNzaW9uU3RhdHVz
KSBcCisgICAgbWFjcm8oUGVybWlzc2lvbnMpIFwKICAgICBtYWNybyhQb2ludGVyRXZlbnQpIFwK
ICAgICBtYWNybyhQdWJsaWNLZXlDcmVkZW50aWFsKSBcCiAgICAgbWFjcm8oUmVzaXplT2JzZXJ2
ZXIpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rvcnku
aW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCmluZGV4IGY3NmZm
ZDBlZTBiNTA5MjkwNDQ1ZDU1NjJhZjMwMTc3YmMzMmFiNzkuLmU1OTNmYTk2M2M2ZjVjN2ExODg3
YzhjMDJjMWI0MmYzMzMwYWRhZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFRhcmdldEZhY3RvcnkuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFj
dG9yeS5pbgpAQCAtMzUsNiArMzUsNyBAQCBPZmZzY3JlZW5DYW52YXMgY29uZGl0aW9uYWw9T0ZG
U0NSRUVOX0NBTlZBUwogUGF5bWVudFJlcXVlc3QgY29uZGl0aW9uYWw9UEFZTUVOVF9SRVFVRVNU
CiBQYXltZW50UmVzcG9uc2UgY29uZGl0aW9uYWw9UEFZTUVOVF9SRVFVRVNUCiBQZXJmb3JtYW5j
ZQorUGVybWlzc2lvblN0YXR1cwogUGljdHVyZUluUGljdHVyZVdpbmRvdyBjb25kaXRpb25hbD1Q
SUNUVVJFX0lOX1BJQ1RVUkVfQVBJCiBSZW1vdGVQbGF5YmFjayBjb25kaXRpb25hbD1XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQKIFJUQ0RhdGFDaGFubmVsIGNvbmRpdGlvbmFsPVdFQl9SVEMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436000</attachid>
            <date>2021-08-20 09:47:26 -0700</date>
            <delta_ts>2021-08-20 09:48:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210820094725.patch</filename>
            <type>text/plain</type>
            <size>58331</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGZlNDUwNDFhODc5MGFjMmY2MTIxZmNj
YjIwZmVlZTUzOTQ2MmVlZDAuLmFkODAzNzNjYjUwYzdhMDY3YzFhYWU2OWI2YjRhMTJlOTllZGVh
YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMjAgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGZlYXR1cmUgZmxhZyBhbmQgYmluZGluZ3MgZm9y
IFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFs
LnlhbWw6CisKIDIwMjEtMDgtMjAgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAg
ICAgICAgIE1ha2UgcHRyVGFnTmFtZSBhbmQgdGFnRm9yUHRyIFdURl9FWFBPUlRfUFJJVkFURS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NTc4MWRiN2ZhOWY1MzhiM2UyYTRiODc4NGI1YmYwMWU4Yjc3YTU5Li44
ZGY3ODI0ZDlkMDg1ODM3YWZmZjg3MzcyNDZlYzcxZDY0Y2Y3YzA0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsOTkgQEAKKzIwMjEtMDgtMjAgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIGZlYXR1cmUgZmxhZyBhbmQgYmluZGluZ3MgZm9yIFBlcm1pc3Npb25z
IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5
MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3Bl
YzogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLworCisgICAgICAgIE5vIG5ldyB0
ZXN0LiBUaGlzIHBhdGNoIGRvZXMgbm90IGFkZCBpbXBsZW1lbnRhdGlvbiwgYW5kIGZlYXR1cmUg
ZmxhZyBpcyBvZmYgZXZlcnl3aGVyZS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFr
ZToKKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5p
ZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlz
c2lvbnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25z
OjpOYXZpZ2F0b3JQZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJt
aXNzaW9uczo6cGVybWlzc2lvbnMpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlz
c2lvbnM6OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6OnN1
cHBsZW1lbnROYW1lKToKKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBl
cm1pc3Npb25zLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvbkRlc2NyaXB0b3IuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uRGVzY3JpcHRvci5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvbk5hbWUuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uTmFtZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXRlLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQ
ZXJtaXNzaW9uU3RhdHVzOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0
YXR1czo6UGVybWlzc2lvblN0YXR1cyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3Rh
dHVzOjphY3RpdmVET01PYmplY3ROYW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1p
c3Npb25TdGF0dXM6OnN1c3BlbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1
czo6c3RvcCk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVz
Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1
cy5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbnM6OlBlcm1pc3Npb25zKToKKyAgICAgICAgKFdlYkNv
cmU6OlBlcm1pc3Npb25zOjpuYXZpZ2F0b3IpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lv
bnM6OnF1ZXJ5KToKKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmg6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5O
YW1lcy5oOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZhY3RvcnkuaW46CisKKzIwMjEtMDgt
MjAgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGZlYXR1
cmUgZmxhZyBhbmQgYmluZGluZ3MgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlYzogaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3Blcm1pc3Npb25zLworCisgICAgICAgIE5vIG5ldyB0ZXN0LCB0aGlzIHBhdGNoIGRvZXMg
bm90IGFkZCBpbXBsZW1lbnRhdGlvbiwgYW5kIGZlYXR1cmUgZmxhZyBpcyBvZmYgYnkgZGVmYXVs
dC4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
LWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVz
L3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGw6IEFkZGVkLgorICAgICAgICAq
IE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpOYXZpZ2F0b3JQZXJtaXNzaW9u
cyk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6cGVybWlzc2lvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6OmZyb20pOgorICAgICAg
ICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6OnN1cHBsZW1lbnROYW1lKToKKyAgICAg
ICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmg6IEFkZGVkLgor
ICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaDogQWRk
ZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5p
ZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUu
aDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5p
ZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRl
Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRl
LmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3Rh
dHVzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdHVzOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6UGVybWlzc2lvblN0YXR1
cyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdHVzOjphY3RpdmVET01PYmplY3RO
YW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OnN1c3BlbmQp
OgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6c3RvcCk6CisgICAgICAgICog
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmg6IEFkZGVkLgorICAgICAgICAq
IE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGw6IEFkZGVkLgorICAgICAg
ICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlBlcm1pc3Npb25zOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlz
c2lvbnM6OlBlcm1pc3Npb25zKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpuYXZp
Z2F0b3IpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbnM6OnF1ZXJ5KToKKyAgICAgICAg
KiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmg6IEFkZGVkLgorICAgICAgICAqIE1v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBTb3Vy
Y2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGRv
bS9FdmVudFRhcmdldEZhY3RvcnkuaW46CisKIDIwMjEtMDgtMjAgIENvbW1pdCBRdWV1ZSAgPGNv
bW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyBy
MjgxMzA3LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5j
ZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRleCA1ZmRiMjQ1NGM5OTQ0NDBm
N2U4ZGY3NTI3ZmZjZTE4NzAzM2IzOTdhLi4zN2I2ODkxMjk0NDIwY2NmOWFkZjgzYWI2ZTMyNTFh
YjYxOTA0MGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJl
ZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbApAQCAtODY5LDYgKzg2OSwx
OCBAQCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nU2Vuc2l0aXZlUHJvcGVydGllc0VuYWJsZWQ6
CiAgICAgV2ViQ29yZToKICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKK1Blcm1pc3Npb25zQVBJRW5h
YmxlZDoKKyAgdHlwZTogYm9vbAorICBodW1hblJlYWRhYmxlTmFtZTogIlBlcm1pc3Npb25zIEFQ
SSIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFBlcm1pc3Npb25zIEFQSSIK
KyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IGZhbHNl
CisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJDb3JlOgorICAgICAg
ZGVmYXVsdDogZmFsc2UKKwogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREZWJ1Z01vZGVFbmFibGVk
OgogICB0eXBlOiBib29sCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiUHJpdmF0ZSBDbGljayBNZWFz
dXJlbWVudCBEZWJ1ZyBNb2RlIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBiYmI4NDJhNTM5YTEw
ODdjOWUxZGI0NjNkMDE5ZGQyYjEyMzE0MmM5Li4xNzRjZDFiZDAzZTg3YzdjMjZmZWU1MTM2YThl
YTMyNTAzODU5OWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDYwLDYgKzQ2MCwxMyBAQCBz
ZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvcGF5bWVudHJlcXVlc3Qv
UGF5bWVudFNoaXBwaW5nVHlwZS5pZGwKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1l
bnRWYWxpZGF0aW9uRXJyb3JzLmlkbAogCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0
b3IrUGVybWlzc2lvbnMuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVz
Y3JpcHRvci5pZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbAor
ICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbAorICAgIE1vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25zLmlkbAorCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50
K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3Vt
ZW50T3JTaGFkb3dSb290K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9waWN0dXJl
aW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmlkbApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggMzliMmIzMDA0ZTRjNTc5
NDM3ZTY1YWNhOTczMjdjNzhkNGQ3NDVkZS4uNTExYjUxMzEyMDBhYmVjODNiZTQ5MDdhN2JlNDE5
MjNhNjJmMzY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54
Y2ZpbGVsaXN0CkBAIC0zODgsNiArMzg4LDEyIEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5
bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9w
YXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdPcHRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ1R5cGUuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMu
aWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlw
dG9yLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFt
ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRl
LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVz
LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudCtQaWN0dXJl
SW5QaWN0dXJlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0Rv
Y3VtZW50T3JTaGFkb3dSb290K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuaWRsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlz
dCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4
IDE5NjcxZjc1MDZkNmE3OTM3NGM1ZWE0NWFjNzcxZmM3ZjFiNzk1MmIuLjliNDg0YWJhNDhjMmM1
Y2ZjNjBhY2VlZWMyOTNlYmNhOWMzOTcxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xMzc3LDYgKzEzNzcsOCBAQCAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitNZWRpYURl
dmljZXMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U05hdmlnYXRvcitNZWRpYURldmljZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFTZXNzaW9uLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFTZXNzaW9u
LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdh
dG9yK1Blcm1pc3Npb25zLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOYXZpZ2F0b3IrUGVybWlzc2lvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViRHJpdmVyLmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViRHJp
dmVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2
aWdhdG9yK1dlYlhSLmNwcApAQCAtMTU4Myw2ICsxNTg1LDE2IEBAICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGlj
V2F2ZUNvbnN0cmFpbnRzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUGVyaW9kaWNXYXZlT3B0aW9ucy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlT3B0aW9ucy5oCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25EZXNjcmlwdG9y
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJt
aXNzaW9uRGVzY3JpcHRvci5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1Blcm1pc3Npb25OYW1lLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uTmFtZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0ZS5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvblN0YXRlLmgK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lv
blN0YXR1cy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUGVybWlzc2lvblN0YXR1cy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25zLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9ucy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BpY3R1cmVJblBpY3R1
cmVXaW5kb3cuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNQbGF5YmFja0RpcmVjdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4
IGQ2NGU2NWU4NmU1ZTExNDI2NjdhOWUzODI3NjgzYTk2OTJmMjdhZjEuLmY5ZWU2NDI4YmEwYTU0
ZDU0YzAyNTdhYTZkNmEwMDAxZTJlNDIxYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQpAQCAtMzI0LDYgKzMyNCwxMiBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdPcHRpb24uaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nVHlwZS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFsaWRh
dGlvbkVycm9ycy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZp
Z2F0b3IrUGVybWlzc2lvbnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGlj
dHVyZWlucGljdHVyZS9Eb2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGljdHVy
ZUluUGljdHVyZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJl
L0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjBiMTI3ZTdmM2ExYzU2NjZjZDBkMGM4OGZlOTExZTk2YzgzNGY2NQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdh
dG9yK1Blcm1pc3Npb25zLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNuYXZpZ2F0b3ItYW5kLXdvcmtlcm5hdmln
YXRvci1leHRlbnNpb24KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEks
CisgICAgSW1wbGVtZW50ZWRCeT1OYXZpZ2F0b3JQZXJtaXNzaW9ucworXSBwYXJ0aWFsIGludGVy
ZmFjZSBOYXZpZ2F0b3IgeworICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgUGVy
bWlzc2lvbnMgcGVybWlzc2lvbnM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zOTFmNTU1ODg2ZDhlNzFhMzQ5ZWU3NWJmM2M0MTZmMDJmMWM0N2FiCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNz
aW9ucy5jcHAKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oIgorCisjaW5jbHVkZSAiTmF2aWdh
dG9yLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbnMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMoTmF2aWdhdG9yJiBu
YXZpZ2F0b3IpCisgICAgOiBtX25hdmlnYXRvcihuYXZpZ2F0b3IpCit7Cit9CisKK1JlZlB0cjxQ
ZXJtaXNzaW9ucz4gTmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKE5hdmlnYXRvciYg
bmF2aWdhdG9yKQoreworICAgIHJldHVybiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6ZnJvbShuYXZp
Z2F0b3IpLT5wZXJtaXNzaW9ucygpOworfQorCitSZWZQdHI8UGVybWlzc2lvbnM+IE5hdmlnYXRv
clBlcm1pc3Npb25zOjpwZXJtaXNzaW9ucygpCit7CisgICAgaWYgKCFtX3Blcm1pc3Npb25zKQor
ICAgICAgICBtX3Blcm1pc3Npb25zID0gUGVybWlzc2lvbnM6OmNyZWF0ZShtX25hdmlnYXRvcik7
CisKKyAgICByZXR1cm4gbV9wZXJtaXNzaW9uczsKK30KKworTmF2aWdhdG9yUGVybWlzc2lvbnMq
IE5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAg
IGF1dG8qIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JQZXJtaXNzaW9ucyo+KFN1
cHBsZW1lbnQ8TmF2aWdhdG9yPjo6ZnJvbSgmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpKSk7
CisgICAgaWYgKCFzdXBwbGVtZW50KSB7CisgICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9IG1h
a2VVbmlxdWU8TmF2aWdhdG9yUGVybWlzc2lvbnM+KG5hdmlnYXRvcik7CisgICAgICAgIHN1cHBs
ZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOworICAgICAgICBwcm92aWRlVG8oJm5hdmlnYXRv
ciwgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CisgICAgfQorCisg
ICAgcmV0dXJuIHN1cHBsZW1lbnQ7Cit9CisKK2NvbnN0IGNoYXIqIE5hdmlnYXRvclBlcm1pc3Np
b25zOjpzdXBwbGVtZW50TmFtZSgpCit7CisgICAgcmV0dXJuICJOYXZpZ2F0b3JQZXJtaXNzaW9u
cyI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43MGE3MzlkYTcxNDQwYzdhMzNiMjMyY2FlOTgzNTIwMTlmZGE0NDRjCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJt
aXNzaW9ucy5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgTmF2aWdhdG9yOworY2xhc3MgUGVybWlzc2lvbnM7CisKK2NsYXNzIE5hdmlnYXRvclBlcm1p
c3Npb25zIGZpbmFsIDogcHVibGljIFN1cHBsZW1lbnQ8TmF2aWdhdG9yPiB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgZXhwbGljaXQgTmF2aWdhdG9yUGVybWlz
c2lvbnMoTmF2aWdhdG9yJik7CisKKyAgICBzdGF0aWMgUmVmUHRyPFBlcm1pc3Npb25zPiBwZXJt
aXNzaW9ucyhOYXZpZ2F0b3ImKTsKKyAgICBSZWZQdHI8UGVybWlzc2lvbnM+IHBlcm1pc3Npb25z
KCk7CisKK3ByaXZhdGU6CisgICAgc3RhdGljIE5hdmlnYXRvclBlcm1pc3Npb25zKiBmcm9tKE5h
dmlnYXRvciYpOworICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOworCisg
ICAgUmVmUHRyPFBlcm1pc3Npb25zPiBtX3Blcm1pc3Npb25zOworICAgIE5hdmlnYXRvciYgbV9u
YXZpZ2F0b3I7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2M4OTlhNzIy
NjBiYzlkMGMwMGEyMDc1ODNjNWY3ODQ1NTg5MDRkMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaApAQCAt
MCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJt
aXNzaW9uTmFtZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBQZXJtaXNzaW9u
RGVzY3JpcHRvciB7CisgICAgUGVybWlzc2lvbk5hbWUgbmFtZTsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGYzNmEzMmEyY2Nj
ZDMzOTkzOWI3ZGU4MzVkZmVkYmJmNGY1N2NjOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsCkBAIC0w
LDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlz
c2lvbnMvI2RpY3RkZWYtcGVybWlzc2lvbmRlc2NyaXB0b3IKKworWworICAgIEVuYWJsZWRCeVNl
dHRpbmc9UGVybWlzc2lvbnNBUEksCitdIGRpY3Rpb25hcnkgUGVybWlzc2lvbkRlc2NyaXB0b3Ig
eworICAgIHJlcXVpcmVkIFBlcm1pc3Npb25OYW1lIG5hbWU7Cit9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmY4YWJhMWE5YzFjMGIwY2U0YTUyNWY0Nzc4OTY0MmU0MjM1NGY5MzAKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmgK
QEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2VudW0gY2xhc3MgUGVybWlzc2lvbk5hbWUgeworICAgIEFjY2VsZXJvbWV0
ZXIsCisgICAgQW1iaWVudExpZ2h0U2Vuc29yLAorICAgIEJhY2tncm91bmRGZXRjaCwKKyAgICBC
YWNrZ3JvdW5kU3luYywKKyAgICBCbHVldG9vdGgsCisgICAgQ2FtZXJhLAorICAgIERpc3BsYXlD
YXB0dXJlLAorICAgIEdlb2xvY2F0aW9uLAorICAgIEd5cm9zY29wZSwKKyAgICBNYWduZXRvbWV0
ZXIsCisgICAgTWljcm9waG9uZSwKKyAgICBNaWRpLAorICAgIE5mYywKKyAgICBOb3RpZmljYXRp
b25zLAorICAgIFBlcnNpc3RlbnRTdG9yYWdlLAorICAgIFB1c2gsCisgICAgU2NyZWVuV2FrZUxv
Y2ssCisgICAgU3BlYWtlclNlbGVjdGlvbgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
TmFtZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25O
YW1lLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kM2FjZGYyOGM2NDIxMTBlYjYxMGZlOWU5ODdiNmJlNjdkZGRh
NjIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uTmFtZS5pZGwKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0
dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jZW51bWRlZi1wZXJtaXNzaW9ubmFtZQor
CitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKK10gZW51bSBQZXJtaXNz
aW9uTmFtZSB7CisgICAgImFjY2VsZXJvbWV0ZXIiLAorICAgICJhbWJpZW50LWxpZ2h0LXNlbnNv
ciIsCisgICAgImJhY2tncm91bmQtZmV0Y2giLAorICAgICJiYWNrZ3JvdW5kLXN5bmMiLAorICAg
ICJibHVldG9vdGgiLAorICAgICJjYW1lcmEiLAorICAgICJkaXNwbGF5LWNhcHR1cmUiLAorICAg
ICJnZW9sb2NhdGlvbiIsCisgICAgImd5cm9zY29wZSIsCisgICAgIm1hZ25ldG9tZXRlciIsCisg
ICAgIm1pY3JvcGhvbmUiLAorICAgICJtaWRpIiwKKyAgICAibmZjIiwKKyAgICAibm90aWZpY2F0
aW9ucyIsCisgICAgInBlcnNpc3RlbnQtc3RvcmFnZSIsCisgICAgInB1c2giLAorICAgICJzY3Jl
ZW4td2FrZS1sb2NrIiwKKyAgICAic3BlYWtlci1zZWxlY3Rpb24iCit9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTI4NTFmMDI0OTU5NDhlODNhMzRmYzM0MWQwNDkxNmU0MTA3YTQxMAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXRlLmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgUGVybWlzc2lvblN0YXRlIHsKKyAgICBHcmFu
dGVkLAorICAgIERlbmllZCwKKyAgICBQcm9tcHQKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvblN0YXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvblN0YXRlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTc3OTc4MTJkMTk4NjllZjNlNTFhMmRiOWVhOGE3
YWYxNjhhYzliCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1kZWYtcGVybWlzc2lv
bnN0YXRlCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBlbnVt
IFBlcm1pc3Npb25TdGF0ZSB7CisgICAgImdyYW50ZWQiLAorICAgICJkZW5pZWQiLAorICAgICJw
cm9tcHQiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uU3RhdHVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvblN0YXR1cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjIwZDc4ODYzYmExN2RkZDE0ZmFl
NjBlM2FkNjEwNzg3ZTgzYzUwZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKQEAgLTAsMCArMSw2MSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3Rh
dHVzLmgiCisKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChQZXJtaXNzaW9uU3RhdHVz
KTsKKworUmVmPFBlcm1pc3Npb25TdGF0dXM+IFBlcm1pc3Npb25TdGF0dXM6OmNyZWF0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBQZXJtaXNzaW9uU3RhdGUgc3RhdGUsIFBlcm1p
c3Npb25OYW1lIG5hbWUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVybWlzc2lvblN0
YXR1cyhjb250ZXh0LCBzdGF0ZSwgbmFtZSkpOworfQorCitQZXJtaXNzaW9uU3RhdHVzOjpQZXJt
aXNzaW9uU3RhdHVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFBlcm1pc3Npb25T
dGF0ZSBzdGF0ZSwgUGVybWlzc2lvbk5hbWUgbmFtZSkKKyAgICA6IEFjdGl2ZURPTU9iamVjdCgm
Y29udGV4dCkKKyAgICAsIG1fc3RhdGUoc3RhdGUpCisgICAgLCBtX25hbWUobmFtZSkKK3sKK30K
KworY29uc3QgY2hhciogUGVybWlzc2lvblN0YXR1czo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuICJQZXJtaXNzaW9uU3RhdHVzIjsKK30KKwordm9pZCBQZXJtaXNz
aW9uU3RhdHVzOjpzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pCit7Cit9CisKK3ZvaWQgUGVy
bWlzc2lvblN0YXR1czo6c3RvcCgpCit7Cit9CisKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
U3RhdHVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25T
dGF0dXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kOTZlNWMxM2JhMGRjYjg3N2E0ZDgwNjQwMWNhYzhkMjc2ZTQy
YjE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uU3RhdHVzLmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVkZSAiRXZlbnRU
YXJnZXQuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uTmFtZS5oIgorI2luY2x1ZGUgIlBlcm1pc3Np
b25TdGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ7CisKK2NsYXNzIFBlcm1pc3Npb25TdGF0dXMgZmluYWwgOiBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0LCBwdWJsaWMgUmVmQ291bnRlZDxQZXJtaXNzaW9uU3RhdHVzPiwgcHVibGljIEV2
ZW50VGFyZ2V0V2l0aElubGluZURhdGEgIHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFBl
cm1pc3Npb25TdGF0dXMpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UGVybWlzc2lvblN0YXR1
cz4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBQZXJtaXNzaW9uU3RhdGUsIFBlcm1p
c3Npb25OYW1lKTsKKworICAgIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fc3RhdGU7IH0KKyAgICBQZXJtaXNzaW9uTmFtZSBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9u
YW1lOyB9CisKKyAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRl
ZDo6ZGVyZWY7CisKK3ByaXZhdGU6CisgICAgUGVybWlzc2lvblN0YXR1cyhTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgUGVybWlzc2lvblN0YXRlLCBQZXJtaXNzaW9uTmFtZSk7CisKKyAgICAvLyBB
Y3RpdmVET01PYmplY3QKKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29u
c3QgZmluYWw7CisgICAgdm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pIGZpbmFsOwor
ICAgIHZvaWQgc3RvcCgpIGZpbmFsOworCisgICAgLy8gRXZlbnRUYXJnZXQKKyAgICBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KKyAgICBF
dmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIFNwZWVjaFJlY29nbml0aW9uRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CisgICAg
dm9pZCByZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVmKCk7IH0KKyAgICB2b2lkIGRlcmVmRXZl
bnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KKworICAgIFBlcm1pc3Npb25TdGF0ZSBtX3N0
YXRlOworICAgIFBlcm1pc3Npb25OYW1lIG1fbmFtZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvblN0YXR1cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25TdGF0dXMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiNzgxNDJlNjk5ZTIwZTZiZTg2Y2M1Y2Uy
MDU2ZDFkZWI2OTJlZDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworIAorLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNwZXJtaXNzaW9u
c3RhdHVzCisKK1sKKyAgICBBY3RpdmVET01PYmplY3QsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1Q
ZXJtaXNzaW9uc0FQSSwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKQorXSBpbnRlcmZhY2Ug
UGVybWlzc2lvblN0YXR1cyA6IEV2ZW50VGFyZ2V0IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUg
UGVybWlzc2lvblN0YXRlIHN0YXRlOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQZXJtaXNzaW9u
TmFtZSBuYW1lOworICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jaGFuZ2U7Cit9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kMzI4NWZlMWU1ZWQ1YzNlNzcwZWVmYjk3ZDU4NWRlMTQ4NDU4YWM0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9ucy5jcHAKQEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJQZXJtaXNzaW9ucy5oIgorCisjaW5jbHVkZSAiRXhjZXB0aW9uLmgiCisj
aW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJKU1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVkZSAiUGVybWlzc2lv
bkRlc2NyaXB0b3IuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChQZXJtaXNzaW9u
cyk7CisKK1JlZjxQZXJtaXNzaW9ucz4gUGVybWlzc2lvbnM6OmNyZWF0ZShOYXZpZ2F0b3ImIG5h
dmlnYXRvcikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJtaXNzaW9ucyhuYXZpZ2F0
b3IpKTsKK30KKworUGVybWlzc2lvbnM6OlBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9y
KQorICAgIDogbV9uYXZpZ2F0b3IobWFrZVdlYWtQdHIobmF2aWdhdG9yKSkKK3sKK30KKworTmF2
aWdhdG9yKiBQZXJtaXNzaW9uczo6bmF2aWdhdG9yKCkKK3sKKyAgICByZXR1cm4gbV9uYXZpZ2F0
b3IuZ2V0KCk7Cit9CisKK3ZvaWQgUGVybWlzc2lvbnM6OnF1ZXJ5KEpTQzo6SlNHbG9iYWxPYmpl
Y3QmIGdsb2JhbE9iamVjdCwgSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4gcGVybWlzc2lvbkRl
c2NyaXB0b3JWYWx1ZSwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQZXJtaXNzaW9u
U3RhdHVzPj4mJiBwcm9taXNlKQoreworICAgIEpTQzo6Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LnZt
KCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCisgICAgaWYg
KCFwZXJtaXNzaW9uRGVzY3JpcHRvclZhbHVlKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4
Y2VwdGlvbiB7IERhdGFFcnJvciwgIlRoZSBwYXJhbWV0ZXIgaXMgaW52YWxpZCJfcyB9KTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gcGFyYW1ldGVyRGVzY3JpcHRvciA9IGNv
bnZlcnQ8SURMRGljdGlvbmFyeTxQZXJtaXNzaW9uRGVzY3JpcHRvcj4+KGdsb2JhbE9iamVjdCwg
cGVybWlzc2lvbkRlc2NyaXB0b3JWYWx1ZS5nZXQoKSk7CisgICAgaWYgKFVOTElLRUxZKHNjb3Bl
LmV4Y2VwdGlvbigpKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBFeGlz
dGluZ0V4Y2VwdGlvbkVycm9yIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgVU5V
U0VEX1BBUkFNKHBhcmFtZXRlckRlc2NyaXB0b3IpOworICAgIHByb21pc2UucmVqZWN0KEV4Y2Vw
dGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCAiTm90IGltcGxlbWVudGVkIl9zIH0pOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE4MmMzYzM5NTExNTU5NGQzY2VhMmUx
YTA5ZTVlODYyYWU0MjcxYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJJRExUeXBlcy5oIgorI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL1N0cm9uZy5oPgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KKyNpbmNsdWRl
IDx3dGYvV2Vha1B0ci5oPgorCituYW1lc3BhY2UgSlNDIHsKK2NsYXNzIEpTT2JqZWN0OworfSAv
LyBuYW1lc3BhY2UgSlNDCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9y
OworY2xhc3MgUGVybWlzc2lvblN0YXR1czsKKwordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4g
Y2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCitjbGFzcyBQZXJtaXNzaW9ucyBmaW5hbCA6IHB1
YmxpYyBSZWZDb3VudGVkPFBlcm1pc3Npb25zPiB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRF
RChQZXJtaXNzaW9ucyk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJtaXNzaW9ucz4gY3Jl
YXRlKE5hdmlnYXRvciYpOworCisgICAgTmF2aWdhdG9yKiBuYXZpZ2F0b3IoKTsKKyAgICB2b2lk
IHF1ZXJ5KEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0Piwg
RE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQZXJtaXNzaW9uU3RhdHVzPj4mJik7CisK
K3ByaXZhdGU6CisgICAgZXhwbGljaXQgUGVybWlzc2lvbnMoTmF2aWdhdG9yJik7CisKKyAgICBX
ZWFrUHRyPE5hdmlnYXRvcj4gbV9uYXZpZ2F0b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bnMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyZDEzZTdjNzk4NjEyYjQyMzYzNzdmZmVlM2MxMWQ2Y2MzMjE0
YmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25zLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNwZXJtaXNzaW9ucy1pbnRlcmZhY2UKKworWwor
ICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCisgICAgR2VuZXJhdGVJc1JlYWNo
YWJsZT1SZWFjaGFibGVGcm9tTmF2aWdhdG9yLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFi
bGUsCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKK10gaW50ZXJmYWNlIFBlcm1pc3Npb25z
IHsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSBQcm9taXNlPFBlcm1pc3Npb25TdGF0dXM+
IHF1ZXJ5KG9iamVjdCBwZXJtaXNzaW9uRGVzYyk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCAwM2Ux
MmE3YTc4NzIzMWQ2YTg5ZWMzNzVhZmE1YzQ3ZGMxNmYyOWMzLi4zMTNlZWU4ZWVjZGNlZmFkMmNk
ZjUxMmE0MGY2YTU0NjI4MjExYTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMjAzLDYgKzIwMyw5IEBA
IE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCiBNb2R1bGVzL3BheW1l
bnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCiBNb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXRpbGl0aWVzLmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVz
dC9QYXltZW50UmVzcG9uc2UuY3BwCitNb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1p
c3Npb25zLmNwcAorTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcAorTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVy
ZS9Eb2N1bWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUv
RW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUv
SFRNTFZpZGVvRWxlbWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCkBAIC0zMjcxLDYgKzMyNzQsMTEg
QEAgSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAKIEpTUGVyaW9kaWNXYXZlLmNwcAogSlNQZXJpb2Rp
Y1dhdmVDb25zdHJhaW50cy5jcHAKIEpTUGVyaW9kaWNXYXZlT3B0aW9ucy5jcHAKK0pTUGVybWlz
c2lvbkRlc2NyaXB0b3IuY3BwCitKU1Blcm1pc3Npb25OYW1lLmNwcAorSlNQZXJtaXNzaW9uU3Rh
dGUuY3BwCitKU1Blcm1pc3Npb25TdGF0dXMuY3BwCitKU1Blcm1pc3Npb25zLmNwcAogSlNQaWN0
dXJlSW5QaWN0dXJlV2luZG93LmNwcAogSlNQbGF5YmFja0RpcmVjdGlvbi5jcHAKIEpTUG9pbnRl
ckV2ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGM4M2IyNWNjZmIyYmVmMTA4NmMyMDQ0MThlZTc2ZTI1YjEwMWFmYmIu
LjIzM2IxNzAwNTVlZDVlZGIwZWQ4ODNjODA5MjUwZWUwOGE5MzFkNjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI4NzcsNiAr
Mjg3NywxMiBAQAogCQk5M0E4MDYxNzFFMDNCNTFDMDA4QTFGMjYgLyogTG9uZ1JhbmdlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4MDYxMzFFMDNC
NTFDMDA4QTFGMjYgLyogTG9uZ1JhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNBODA2MUUxRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91Ymxl
UmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
QTgwNjFBMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJhbmdlLmggKi87IH07CiAJCTkzQTgw
NjIwMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBODA2MUMxRTAzQjU4NTAwOEExRjI2IC8qIEpT
TG9uZ1JhbmdlLmggKi87IH07CisJCTkzQjBBNjUzMjZDREQxNDEwMEFBMjFFNCAvKiBOYXZpZ2F0
b3JQZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNCMEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmgg
Ki87IH07CisJCTkzQjBBNjU0MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NEIyNkNERDEz
RTAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmggKi87IH07CisJCTkzQjBBNjU2MjZDREQxNDEwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY0RDI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvblN0
YXR1cy5oICovOyB9OworCQk5M0IwQTY1NzI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbkRl
c2NyaXB0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzQjBBNjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oICovOyB9
OworCQk5M0IwQTY1OTI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjUwMjZDREQxNDAw
MEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oICovOyB9OworCQk5M0IwQTY1QjI2Q0REMTQxMDBB
QTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY1MjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0
YXRlLmggKi87IH07CiAJCTkzQjJEODE2MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5h
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNC
MkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNCMzhFQzMyNTgyMURCNDAw
MTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IzOEVCQTI1ODIxOTNCMDAxOThFNjMgLyogV2Vi
U3BlZWNoUmVjb2duaXplclRhc2suaCAqLzsgfTsKIAkJOTNCMzhFQzQyNTgyMURCNzAwMTk4RTYz
IC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMzhFQkIyNTgyMTkzRDAwMTk4RTYzIC8qIFdlYlNw
ZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oICovOyB9OwpAQCAtMTE2OTQsNiArMTE3MDAsMjEgQEAK
IAkJOTNBODA2MUExRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEb3VibGVSYW5nZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5M0E4MDYxQjFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNMb25nUmFuZ2UuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0E4MDYxQzFFMDNCNTg1MDA4QTFGMjYgLyog
SlNMb25nUmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNMb25nUmFu
Z2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDQyNkNEQzVCNjAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlz
c2lvblN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDUyNkNE
QzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTkzQjBBNjQ2MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvbk5hbWUuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk5M0IwQTY0NzI2Q0RDNUI3MDBBQTIxRTQgLyogTmF2aWdhdG9yK1Blcm1p
c3Npb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiTmF2aWdhdG9yK1Blcm1pc3Npb25z
LmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ4MjZDREM1QjcwMEFB
MjFFNCAvKiBQZXJtaXNzaW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lv
bnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0OTI2Q0RDNUI4MDBB
QTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVy
bWlzc2lvblN0YXR1cy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRB
MjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk5M0IwQTY0QjI2Q0REMTNFMDBBQTIxRTQgLyogUGVybWlzc2lvbnMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbnMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEMyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmln
YXRvclBlcm1pc3Npb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk5M0IwQTY0RTI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvbkRl
c2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbkRl
c2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEYyNkNERDE0
MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTkzQjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uTmFtZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MTI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlz
c2lvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVybWlzc2lv
bnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MjI2Q0REMTQxMDBB
QTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFBlcm1pc3Npb25TdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0Iy
RDgxNTBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU3VkZGVuVGVybWluYXRpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTNCMkQ4MTcwRjk5MjBFRTAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0
aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3VkZGVuVGVy
bWluYXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjM4RUI4MjU4MjE4
OTkwMDE5OEU2MyAvKiBTcGVlY2hSZWNvZ25pemVyQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTcGVlY2hSZWNvZ25pemVyQ29jb2EubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzE3NSw2ICsyMzE5NiwyOCBAQAogCQkJcGF0aCA9IG1h
YzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTkzQjBBNjQyMjZDREM1NzQw
MEFBMjFFNCAvKiBwZXJtaXNzaW9ucyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hp
bGRyZW4gPSAoCisJCQkJOTNCMEE2NDcyNkNEQzVCNzAwQUEyMUU0IC8qIE5hdmlnYXRvcitQZXJt
aXNzaW9ucy5pZGwgKi8sCisJCQkJOTNCMEE2NEMyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRv
clBlcm1pc3Npb25zLmNwcCAqLywKKwkJCQk5M0IwQTY0QTI2Q0REMTNFMDBBQTIxRTQgLyogTmF2
aWdhdG9yUGVybWlzc2lvbnMuaCAqLywKKwkJCQk5M0IwQTY0RTI2Q0REMTNGMDBBQTIxRTQgLyog
UGVybWlzc2lvbkRlc2NyaXB0b3IuaCAqLywKKwkJCQk5M0IwQTY0NTI2Q0RDNUI2MDBBQTIxRTQg
LyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsICovLAorCQkJCTkzQjBBNjUwMjZDREQxNDAwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oICovLAorCQkJCTkzQjBBNjQ2MjZDREM1QjcwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uTmFtZS5pZGwgKi8sCisJCQkJOTNCMEE2NTEyNkNERDE0MDAwQUEyMUU0
IC8qIFBlcm1pc3Npb25zLmNwcCAqLywKKwkJCQk5M0IwQTY0QjI2Q0REMTNFMDBBQTIxRTQgLyog
UGVybWlzc2lvbnMuaCAqLywKKwkJCQk5M0IwQTY0ODI2Q0RDNUI3MDBBQTIxRTQgLyogUGVybWlz
c2lvbnMuaWRsICovLAorCQkJCTkzQjBBNjUyMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
U3RhdGUuaCAqLywKKwkJCQk5M0IwQTY0NDI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lvblN0
YXRlLmlkbCAqLywKKwkJCQk5M0IwQTY0RjI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvblN0
YXR1cy5jcHAgKi8sCisJCQkJOTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25T
dGF0dXMuaCAqLywKKwkJCQk5M0IwQTY0OTI2Q0RDNUI4MDBBQTIxRTQgLyogUGVybWlzc2lvblN0
YXR1cy5pZGwgKi8sCisJCQkpOworCQkJcGF0aCA9IHBlcm1pc3Npb25zOworCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJOTNCMzhFQjYyNTgyMTgzMzAwMTk4RTYzIC8qIGNvY29h
ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTIzNzgwLDYg
KzIzODIzLDcgQEAKIAkJCQk3MUQ2QUEzOTFEQTRFQUY3MDBCMjM5NjkgLyogbW9kZXJuLW1lZGlh
LWNvbnRyb2xzICovLAogCQkJCTMzM0Y3MDNEMEZCNDlDMTYwMDhFMTJBNiAvKiBub3RpZmljYXRp
b25zICovLAogCQkJCUExRjc2QjBFMUY0NEMwQ0YwMDE0QzMxOCAvKiBwYXltZW50cmVxdWVzdCAq
LywKKwkJCQk5M0IwQTY0MjI2Q0RDNTc0MDBBQTIxRTQgLyogcGVybWlzc2lvbnMgKi8sCiAJCQkJ
MURFRjA2QTIyMzNDMzJEQjAwRUUyMjhEIC8qIHBpY3R1cmVpbnBpY3R1cmUgKi8sCiAJCQkJMDcy
QUUxREUxODNDMDUxMzAwMEE1OTg4IC8qIHBsdWdpbnMgKi8sCiAJCQkJQ0RDMzEyRTAyMkZDRDBC
MDAwMTIwNEVDIC8qIHJlbW90ZXBsYXliYWNrICovLApAQCAtMzM1MjIsNyArMzM1NjYsNiBAQAog
CQkJCTdBRTZDOTNDMUJFMEM2MDEwMEUxOUUwMyAvKiBNYWluVGhyZWFkU2hhcmVkVGltZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUU0NTFDNjMyMjM5NDAzMUEwMDk5MzE5MCAvKiBNYXJnaW5UeXBl
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxODY2NDUxRjcyRTVCNDAwQTBDQUI2IC8qIE1hcmtl
ZFRleHQuaCBpbiBIZWFkZXJzICovLAotCQkJCUU0NDBGRDUzMjVBNEFGREYwMEY3Qzg0OSAvKiBT
dHlsZWRNYXJrZWRUZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURGODA5OUU2NDkyMDA1
NkU1ODEgLyogbWFya3VwLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzI4QzMxNDEyNjhFNDM5MDA0
MUU4OUIgLyogTWFya3VwQWNjdW11bGF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTAwQzYwRTNG
MTNENzZEN0UwMDkyQTI3NSAvKiBNYXJrdXBUb2tlbml6ZXJJbmxpbmVzLmggaW4gSGVhZGVycyAq
LywKQEAgLTMzNzQ1LDYgKzMzNzg4LDcgQEAKIAkJCQk2QjUwN0EyNDIzNEJGMzQxMDBCRTdDNjIg
LyogTmF2aWdhdG9ySXNMb2dnZWRJbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUVBNzI1RDYxQUNB
QkQ1NzAwRUFEMTdCIC8qIE5hdmlnYXRvck1lZGlhRGV2aWNlcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMDc3QkE1NzIyNjBGQTAxNDAwNzJGMTlGIC8qIE5hdmlnYXRvck1lZGlhU2Vzc2lvbi5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTMyNkNERDE0MTAwQUEyMUU0IC8qIE5hdmlnYXRvclBl
cm1pc3Npb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTZFNTlERjFERjAxMjhEMDA2NjEyQjkg
LyogTmF2aWdhdG9yV2ViRHJpdmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI3ODI0MTMx
OTFGMDBFNzk0RDYgLyogTmF2aWdhdG9yV2ViWFIuaCBpbiBIZWFkZXJzICovLAogCQkJCThBMzA5
QzlGMTIzOTUwQkUwMENCOTIwNCAvKiBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oIGluIEhlYWRl
cnMgKi8sCkBAIC0zMzk0NCw2ICszMzk4OCwxMSBAQAogCQkJCUZENTgxRkI1MTUyMEY5M0IwMDNB
N0E3NSAvKiBQZXJpb2RpY1dhdmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUU3NTVFODkyMjRDNzQz
NEIwMDlGN0MyMyAvKiBQZXJpb2RpY1dhdmVDb25zdHJhaW50cy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTc1NUU4OTkyNEM3NDYxRDAwOUY3QzIzIC8qIFBlcmlvZGljV2F2ZU9wdGlvbnMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTkzQjBBNjU3MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVz
Y3JpcHRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTkyNkNERDE0MTAwQUEyMUU0IC8q
IFBlcm1pc3Npb25OYW1lLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1NDI2Q0REMTQxMDBB
QTIxRTQgLyogUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjVCMjZDREQx
NDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBB
NjU2MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0OUQ1REMyRTBGNDIzQTczMDA4RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVy
YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTFEQkMxQjU2MjM0N0IzRDIwMEI5MDFBRiAvKiBQ
aWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFEMkM4MkI3MjM2
QTNGNkEwMDU1RDZDNSAvKiBQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0zNDY5NCw2ICszNDc0Myw3IEBACiAJCQkJQkM3NzlFMTcxQkIyMjdDQTAwQ0FBOEJGIC8q
IFN0eWxlQ3VzdG9tUHJvcGVydHlEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEM0QTdGRDA5
RDU2MzI3MDAwM0FDOEQgLyogU3R5bGVkRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1
RUI4QjkwRTgyMDFCRDAwQjI1OTY1IC8qIFN0eWxlRGVwcmVjYXRlZEZsZXhpYmxlQm94RGF0YS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJRTQ0MEZENTMyNUE0QUZERjAwRjdDODQ5IC8qIFN0eWxlZE1h
cmtlZFRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxOUFFMDY0MTQyRDZCMjQwMDY1NjNBMSAv
KiBTdHlsZUZpbHRlckRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTUzMTc2MTIzMTNDNTE2Njkw
MDI2RTQ1NCAvKiBTdHlsZUZsZXhpYmxlQm94RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTRE
NThFQjkxN0I0RUQ4OTAwQ0JEQ0E4IC8qIFN0eWxlRm9udFNpemVGdW5jdGlvbnMuaCBpbiBIZWFk
ZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1
aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5O
YW1lcy5oCmluZGV4IGYxODFjNzk2ZDY1MGNjODZmZTNmMDhhNzIwMDdhNmVkYzJlZmJjNzguLjg1
MWEyMTRjOWE0ODdmZjY4ZDE2YmU3ZGQ4ZmJiNTIwODg3ZWI5MWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTE1NCw2ICsxNTQs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oTW9ja1JUQ1J0cFRyYW5zZm9ybSkg
XAogICAgIG1hY3JvKE5hdmlnYXRvckNyZWRlbnRpYWxzKSBcCiAgICAgbWFjcm8oTmF2aWdhdG9y
TWVkaWFEZXZpY2VzKSBcCisgICAgbWFjcm8oTmF2aWdhdG9yUGVybWlzc2lvbnMpIFwKICAgICBt
YWNybyhOYXZpZ2F0b3JVc2VyTWVkaWEpIFwKICAgICBtYWNybyhPZmZsaW5lQXVkaW9Db250ZXh0
KSBcCiAgICAgbWFjcm8oT2Zmc2NyZWVuQ2FudmFzKSBcCkBAIC0xODIsNiArMTgzLDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpIFwKICAg
ICBtYWNybyhQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFu
Y2VTZXJ2ZXJUaW1pbmcpIFwKKyAgICBtYWNybyhQZXJtaXNzaW9uRGVzY3JpcHRvcikgXAorICAg
IG1hY3JvKFBlcm1pc3Npb25TdGF0dXMpIFwKKyAgICBtYWNybyhQZXJtaXNzaW9ucykgXAogICAg
IG1hY3JvKFBvaW50ZXJFdmVudCkgXAogICAgIG1hY3JvKFB1YmxpY0tleUNyZWRlbnRpYWwpIFwK
ICAgICBtYWNybyhSZXNpemVPYnNlcnZlcikgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dEZhY3RvcnkuaW4KaW5kZXggNWU1OGYxMTE2NjdlZjYyMTBkNTMxMTBkN2I1NGE4MDJjODQzOTVk
OC4uMDEzY2VkMDk0NmZmY2Q1MjU5ZmEyNTBiMTYwM2ExOGU0NTllNDU5OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCkBAIC0zNSw2ICszNSw3IEBAIE9mZnNjcmVl
bkNhbnZhcyBjb25kaXRpb25hbD1PRkZTQ1JFRU5fQ0FOVkFTCiBQYXltZW50UmVxdWVzdCBjb25k
aXRpb25hbD1QQVlNRU5UX1JFUVVFU1QKIFBheW1lbnRSZXNwb25zZSBjb25kaXRpb25hbD1QQVlN
RU5UX1JFUVVFU1QKIFBlcmZvcm1hbmNlCitQZXJtaXNzaW9uU3RhdHVzCiBQaWN0dXJlSW5QaWN0
dXJlV2luZG93IGNvbmRpdGlvbmFsPVBJQ1RVUkVfSU5fUElDVFVSRV9BUEkKIFJlbW90ZVBsYXli
YWNrIGNvbmRpdGlvbmFsPVdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVAogUlRDRGF0YUNoYW5uZWwg
Y29uZGl0aW9uYWw9V0VCX1JUQwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436001</attachid>
            <date>2021-08-20 09:48:22 -0700</date>
            <delta_ts>2021-08-20 13:26:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210820094821.patch</filename>
            <type>text/plain</type>
            <size>56129</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGZlNDUwNDFhODc5MGFjMmY2MTIxZmNj
YjIwZmVlZTUzOTQ2MmVlZDAuLmFkODAzNzNjYjUwYzdhMDY3YzFhYWU2OWI2YjRhMTJlOTllZGVh
YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMjAgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGZlYXR1cmUgZmxhZyBhbmQgYmluZGluZ3MgZm9y
IFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFs
LnlhbWw6CisKIDIwMjEtMDgtMjAgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAg
ICAgICAgIE1ha2UgcHRyVGFnTmFtZSBhbmQgdGFnRm9yUHRyIFdURl9FWFBPUlRfUFJJVkFURS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NTc4MWRiN2ZhOWY1MzhiM2UyYTRiODc4NGI1YmYwMWU4Yjc3YTU5Li44
ZDUyMDViM2Q5M2MxMjhhNzcyMzVmZmEzMzYyN2YzMDZmMDFlZGEyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNTEgQEAKKzIwMjEtMDgtMjAgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIGZlYXR1cmUgZmxhZyBhbmQgYmluZGluZ3MgZm9yIFBlcm1pc3Npb25z
IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5
MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3Bl
YzogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLworCisgICAgICAgIE5vIG5ldyB0
ZXN0LiBUaGlzIHBhdGNoIGRvZXMgbm90IGFkZCBpbXBsZW1lbnRhdGlvbiwgYW5kIGZlYXR1cmUg
ZmxhZyBpcyBvZmYgZXZlcnl3aGVyZS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFr
ZToKKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5p
ZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlz
c2lvbnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25z
OjpOYXZpZ2F0b3JQZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJt
aXNzaW9uczo6cGVybWlzc2lvbnMpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlz
c2lvbnM6OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6OnN1
cHBsZW1lbnROYW1lKToKKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBl
cm1pc3Npb25zLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvbkRlc2NyaXB0b3IuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uRGVzY3JpcHRvci5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvbk5hbWUuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uTmFtZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXRlLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQ
ZXJtaXNzaW9uU3RhdHVzOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0
YXR1czo6UGVybWlzc2lvblN0YXR1cyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3Rh
dHVzOjphY3RpdmVET01PYmplY3ROYW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1p
c3Npb25TdGF0dXM6OnN1c3BlbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1
czo6c3RvcCk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVz
Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1
cy5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbnM6OlBlcm1pc3Npb25zKToKKyAgICAgICAgKFdlYkNv
cmU6OlBlcm1pc3Npb25zOjpuYXZpZ2F0b3IpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lv
bnM6OnF1ZXJ5KToKKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmg6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5O
YW1lcy5oOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZhY3RvcnkuaW46CisKIDIwMjEtMDgt
MjAgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJldmVydGluZyByMjgxMzA3LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3Jp
cHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2Uv
V1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbApp
bmRleCA1ZmRiMjQ1NGM5OTQ0NDBmN2U4ZGY3NTI3ZmZjZTE4NzAzM2IzOTdhLi4zN2I2ODkxMjk0
NDIwY2NmOWFkZjgzYWI2ZTMyNTFhYjYxOTA0MGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1Nj
cmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9T
b3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwu
eWFtbApAQCAtODY5LDYgKzg2OSwxOCBAQCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nU2Vuc2l0
aXZlUHJvcGVydGllc0VuYWJsZWQ6CiAgICAgV2ViQ29yZToKICAgICAgIGRlZmF1bHQ6IGZhbHNl
CiAKK1Blcm1pc3Npb25zQVBJRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBodW1hblJlYWRhYmxl
TmFtZTogIlBlcm1pc3Npb25zIEFQSSIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5h
YmxlIFBlcm1pc3Npb25zIEFQSSIKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToK
KyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UK
KyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnREZWJ1Z01vZGVFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGh1bWFuUmVhZGFibGVOYW1l
OiAiUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudCBEZWJ1ZyBNb2RlIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAppbmRleCBiYmI4NDJhNTM5YTEwODdjOWUxZGI0NjNkMDE5ZGQyYjEyMzE0MmM5Li4xNzRjZDFi
ZDAzZTg3YzdjMjZmZWU1MTM2YThlYTMyNTAzODU5OWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApA
QCAtNDYwLDYgKzQ2MCwxMyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nVHlwZS5pZGwKICAgICBNb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzLmlkbAogCisgICAgTW9kdWxl
cy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCisgICAgTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25OYW1lLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXRlLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwKKyAg
ICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbAorCiAgICAgTW9kdWxlcy9waWN0
dXJlaW5waWN0dXJlL0RvY3VtZW50K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9w
aWN0dXJlaW5waWN0dXJlL0RvY3VtZW50T3JTaGFkb3dSb290K1BpY3R1cmVJblBpY3R1cmUuaWRs
CiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50
LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QK
aW5kZXggMzliMmIzMDA0ZTRjNTc5NDM3ZTY1YWNhOTczMjdjNzhkNGQ3NDVkZS4uNTExYjUxMzEy
MDBhYmVjODNiZTQ5MDdhN2JlNDE5MjNhNjJmMzY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0zODgsNiArMzg4LDEyIEBAICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmlkbAogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdPcHRpb24u
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGlu
Z1R5cGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRW
YWxpZGF0aW9uRXJyb3JzLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9O
YXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9ucy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGlj
dHVyZS9Eb2N1bWVudCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50T3JTaGFkb3dSb290K1BpY3R1cmVJblBpY3R1cmUu
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJl
SW5QaWN0dXJlRXZlbnQuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91
dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDE5NjcxZjc1MDZkNmE3OTM3NGM1ZWE0NWFjNzcxZmM3ZjFi
Nzk1MmIuLjliNDg0YWJhNDhjMmM1Y2ZjNjBhY2VlZWMyOTNlYmNhOWMzOTcxZWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xMzc3
LDYgKzEzNzcsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU05hdmlnYXRvcitNZWRpYURldmljZXMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitNZWRpYURldmljZXMuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFTZXNz
aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNO
YXZpZ2F0b3IrTWVkaWFTZXNzaW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1Blcm1pc3Npb25zLmNwcAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrUGVybWlzc2lvbnMuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3Ir
V2ViRHJpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOYXZpZ2F0b3IrV2ViRHJpdmVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dlYlhSLmNwcApAQCAtMTU4Myw2ICsxNTg1LDE2
IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyaW9k
aWNXYXZlQ29uc3RyYWludHMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZUNvbnN0cmFpbnRzLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlT3B0aW9ucy5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZl
T3B0aW9ucy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1Blcm1pc3Npb25EZXNjcmlwdG9yLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uRGVzY3JpcHRvci5oCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25OYW1lLmNwcAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uTmFtZS5o
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Np
b25TdGF0ZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUGVybWlzc2lvblN0YXRlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUGVybWlzc2lvblN0YXR1cy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvblN0YXR1cy5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25zLmNwcAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9ucy5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BpY3R1cmVJblBp
Y3R1cmVXaW5kb3cuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQbGF5YmFja0RpcmVjdGlvbi5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCmluZGV4IGQ2NGU2NWU4NmU1ZTExNDI2NjdhOWUzODI3NjgzYTk2OTJm
MjdhZjEuLmY5ZWU2NDI4YmEwYTU0ZDU0YzAyNTdhYTZkNmEwMDAxZTJlNDIxYmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzI0LDYgKzMyNCwxMiBAQCBKU19CSU5ESU5HX0lE
TFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hp
cHBpbmdPcHRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3Qv
UGF5bWVudFNoaXBwaW5nVHlwZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wYXltZW50
cmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVycm9ycy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbCBcCisgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudE9yU2hhZG93Um9vdCtQ
aWN0dXJlSW5QaWN0dXJlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BpY3R1cmVpbnBp
Y3R1cmUvRG9jdW1lbnQrUGljdHVyZUluUGljdHVyZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmlkbCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQ
ZXJtaXNzaW9ucy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmln
YXRvcitQZXJtaXNzaW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBiMTI3ZTdmM2ExYzU2NjZjZDBkMGM4
OGZlOTExZTk2YzgzNGY2NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbApAQCAtMCwwICsxLDMzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNuYXZp
Z2F0b3ItYW5kLXdvcmtlcm5hdmlnYXRvci1leHRlbnNpb24KKworWworICAgIEVuYWJsZWRCeVNl
dHRpbmc9UGVybWlzc2lvbnNBUEksCisgICAgSW1wbGVtZW50ZWRCeT1OYXZpZ2F0b3JQZXJtaXNz
aW9ucworXSBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgeworICAgIFtTYW1lT2JqZWN0XSBy
ZWFkb25seSBhdHRyaWJ1dGUgUGVybWlzc2lvbnMgcGVybWlzc2lvbnM7Cit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9u
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1p
c3Npb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTFmNTU1ODg2ZDhlNzFhMzQ5ZWU3NWJmM2M0MTZmMDJm
MWM0N2FiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JQZXJtaXNzaW9ucy5o
IgorCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbnMuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVy
bWlzc2lvbnMoTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCisgICAgOiBtX25hdmlnYXRvcihuYXZpZ2F0
b3IpCit7Cit9CisKK1JlZlB0cjxQZXJtaXNzaW9ucz4gTmF2aWdhdG9yUGVybWlzc2lvbnM6OnBl
cm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIHJldHVybiBOYXZpZ2F0b3JQ
ZXJtaXNzaW9uczo6ZnJvbShuYXZpZ2F0b3IpLT5wZXJtaXNzaW9ucygpOworfQorCitSZWZQdHI8
UGVybWlzc2lvbnM+IE5hdmlnYXRvclBlcm1pc3Npb25zOjpwZXJtaXNzaW9ucygpCit7CisgICAg
aWYgKCFtX3Blcm1pc3Npb25zKQorICAgICAgICBtX3Blcm1pc3Npb25zID0gUGVybWlzc2lvbnM6
OmNyZWF0ZShtX25hdmlnYXRvcik7CisKKyAgICByZXR1cm4gbV9wZXJtaXNzaW9uczsKK30KKwor
TmF2aWdhdG9yUGVybWlzc2lvbnMqIE5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKE5hdmlnYXRv
ciYgbmF2aWdhdG9yKQoreworICAgIGF1dG8qIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxOYXZp
Z2F0b3JQZXJtaXNzaW9ucyo+KFN1cHBsZW1lbnQ8TmF2aWdhdG9yPjo6ZnJvbSgmbmF2aWdhdG9y
LCBzdXBwbGVtZW50TmFtZSgpKSk7CisgICAgaWYgKCFzdXBwbGVtZW50KSB7CisgICAgICAgIGF1
dG8gbmV3U3VwcGxlbWVudCA9IG1ha2VVbmlxdWU8TmF2aWdhdG9yUGVybWlzc2lvbnM+KG5hdmln
YXRvcik7CisgICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOworICAgICAg
ICBwcm92aWRlVG8oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBw
bGVtZW50KSk7CisgICAgfQorCisgICAgcmV0dXJuIHN1cHBsZW1lbnQ7Cit9CisKK2NvbnN0IGNo
YXIqIE5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFtZSgpCit7CisgICAgcmV0dXJu
ICJOYXZpZ2F0b3JQZXJtaXNzaW9ucyI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVy
bWlzc2lvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9y
UGVybWlzc2lvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MGE3MzlkYTcxNDQwYzdhMzNiMjMyY2FlOTgzNTIw
MTlmZGE0NDRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yOworY2xhc3MgUGVybWlzc2lvbnM7CisK
K2NsYXNzIE5hdmlnYXRvclBlcm1pc3Npb25zIGZpbmFsIDogcHVibGljIFN1cHBsZW1lbnQ8TmF2
aWdhdG9yPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgZXhw
bGljaXQgTmF2aWdhdG9yUGVybWlzc2lvbnMoTmF2aWdhdG9yJik7CisKKyAgICBzdGF0aWMgUmVm
UHRyPFBlcm1pc3Npb25zPiBwZXJtaXNzaW9ucyhOYXZpZ2F0b3ImKTsKKyAgICBSZWZQdHI8UGVy
bWlzc2lvbnM+IHBlcm1pc3Npb25zKCk7CisKK3ByaXZhdGU6CisgICAgc3RhdGljIE5hdmlnYXRv
clBlcm1pc3Npb25zKiBmcm9tKE5hdmlnYXRvciYpOworICAgIHN0YXRpYyBjb25zdCBjaGFyKiBz
dXBwbGVtZW50TmFtZSgpOworCisgICAgUmVmUHRyPFBlcm1pc3Npb25zPiBtX3Blcm1pc3Npb25z
OworICAgIE5hdmlnYXRvciYgbV9uYXZpZ2F0b3I7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2M4OTlhNzIyNjBiYzlkMGMwMGEyMDc1ODNjNWY3ODQ1NTg5MDRkMQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvbkRlc2NyaXB0b3IuaApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlICJQZXJtaXNzaW9uTmFtZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK3N0cnVjdCBQZXJtaXNzaW9uRGVzY3JpcHRvciB7CisgICAgUGVybWlzc2lvbk5hbWUgbmFt
ZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNGYzNmEzMmEyY2NjZDMzOTkzOWI3ZGU4MzVkZmVkYmJmNGY1N2NjOAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bkRlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczov
L3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2RpY3RkZWYtcGVybWlzc2lvbmRlc2NyaXB0b3IK
KworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCitdIGRpY3Rpb25hcnkg
UGVybWlzc2lvbkRlc2NyaXB0b3IgeworICAgIHJlcXVpcmVkIFBlcm1pc3Npb25OYW1lIG5hbWU7
Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uTmFtZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uTmFtZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4YWJhMWE5YzFjMGIwY2U0YTUyNWY0Nzc4OTY0MmU0MjM1
NGY5MzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25OYW1lLmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgUGVybWlzc2lvbk5h
bWUgeworICAgIEFjY2VsZXJvbWV0ZXIsCisgICAgQW1iaWVudExpZ2h0U2Vuc29yLAorICAgIEJh
Y2tncm91bmRGZXRjaCwKKyAgICBCYWNrZ3JvdW5kU3luYywKKyAgICBCbHVldG9vdGgsCisgICAg
Q2FtZXJhLAorICAgIERpc3BsYXlDYXB0dXJlLAorICAgIEdlb2xvY2F0aW9uLAorICAgIEd5cm9z
Y29wZSwKKyAgICBNYWduZXRvbWV0ZXIsCisgICAgTWljcm9waG9uZSwKKyAgICBNaWRpLAorICAg
IE5mYywKKyAgICBOb3RpZmljYXRpb25zLAorICAgIFBlcnNpc3RlbnRTdG9yYWdlLAorICAgIFB1
c2gsCisgICAgU2NyZWVuV2FrZUxvY2ssCisgICAgU3BlYWtlclNlbGVjdGlvbgorfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kM2FjZGYyOGM2NDIxMTBl
YjYxMGZlOWU5ODdiNmJlNjdkZGRhNjIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwKQEAgLTAsMCArMSw0OSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jZW51
bWRlZi1wZXJtaXNzaW9ubmFtZQorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9u
c0FQSSwKK10gZW51bSBQZXJtaXNzaW9uTmFtZSB7CisgICAgImFjY2VsZXJvbWV0ZXIiLAorICAg
ICJhbWJpZW50LWxpZ2h0LXNlbnNvciIsCisgICAgImJhY2tncm91bmQtZmV0Y2giLAorICAgICJi
YWNrZ3JvdW5kLXN5bmMiLAorICAgICJibHVldG9vdGgiLAorICAgICJjYW1lcmEiLAorICAgICJk
aXNwbGF5LWNhcHR1cmUiLAorICAgICJnZW9sb2NhdGlvbiIsCisgICAgImd5cm9zY29wZSIsCisg
ICAgIm1hZ25ldG9tZXRlciIsCisgICAgIm1pY3JvcGhvbmUiLAorICAgICJtaWRpIiwKKyAgICAi
bmZjIiwKKyAgICAibm90aWZpY2F0aW9ucyIsCisgICAgInBlcnNpc3RlbnQtc3RvcmFnZSIsCisg
ICAgInB1c2giLAorICAgICJzY3JlZW4td2FrZS1sb2NrIiwKKyAgICAic3BlYWtlci1zZWxlY3Rp
b24iCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uU3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvblN0YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTI4NTFmMDI0OTU5NDhlODNhMzRmYzM0MWQwNDkx
NmU0MTA3YTQxMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgUGVybWlz
c2lvblN0YXRlIHsKKyAgICBHcmFudGVkLAorICAgIERlbmllZCwKKyAgICBQcm9tcHQKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTc3OTc4MTJk
MTk4NjllZjNlNTFhMmRiOWVhOGE3YWYxNjhhYzliCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsCkBAIC0wLDAg
KzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lv
bnMvI2VudW1kZWYtcGVybWlzc2lvbnN0YXRlCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBl
cm1pc3Npb25zQVBJLAorXSBlbnVtIFBlcm1pc3Npb25TdGF0ZSB7CisgICAgImdyYW50ZWQiLAor
ICAgICJkZW5pZWQiLAorICAgICJwcm9tcHQiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjIwZDc4ODYzYmExN2RkZDE0ZmFlNjBlM2FkNjEwNzg3ZTgzYzUwZQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5j
cHAKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJQZXJtaXNzaW9uU3RhdHVzLmgiCisKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5s
aW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURf
SU1QTChQZXJtaXNzaW9uU3RhdHVzKTsKKworUmVmPFBlcm1pc3Npb25TdGF0dXM+IFBlcm1pc3Np
b25TdGF0dXM6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBQZXJtaXNz
aW9uU3RhdGUgc3RhdGUsIFBlcm1pc3Npb25OYW1lIG5hbWUpCit7CisgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgUGVybWlzc2lvblN0YXR1cyhjb250ZXh0LCBzdGF0ZSwgbmFtZSkpOworfQorCitQ
ZXJtaXNzaW9uU3RhdHVzOjpQZXJtaXNzaW9uU3RhdHVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSwgUGVybWlzc2lvbk5hbWUgbmFtZSkKKyAg
ICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKKyAgICAsIG1fc3RhdGUoc3RhdGUpCisgICAg
LCBtX25hbWUobmFtZSkKK3sKK30KKworY29uc3QgY2hhciogUGVybWlzc2lvblN0YXR1czo6YWN0
aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuICJQZXJtaXNzaW9uU3RhdHVz
IjsKK30KKwordm9pZCBQZXJtaXNzaW9uU3RhdHVzOjpzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNp
b24pCit7Cit9CisKK3ZvaWQgUGVybWlzc2lvblN0YXR1czo6c3RvcCgpCit7Cit9CisKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOTZlNWMxM2JhMGRjYjg3
N2E0ZDgwNjQwMWNhYzhkMjc2ZTQyYjE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmgKQEAgLTAsMCArMSw2NiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0
LmgiCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uTmFtZS5o
IgorI2luY2x1ZGUgIlBlcm1pc3Npb25TdGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIFBlcm1pc3Npb25TdGF0dXMg
ZmluYWwgOiBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgUmVmQ291bnRlZDxQZXJtaXNz
aW9uU3RhdHVzPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgIHsKKyAgICBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEKFBlcm1pc3Npb25TdGF0dXMpOworcHVibGljOgorICAgIHN0YXRp
YyBSZWY8UGVybWlzc2lvblN0YXR1cz4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBQ
ZXJtaXNzaW9uU3RhdGUsIFBlcm1pc3Npb25OYW1lKTsKKworICAgIFBlcm1pc3Npb25TdGF0ZSBz
dGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGU7IH0KKyAgICBQZXJtaXNzaW9uTmFtZSBuYW1l
KCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CisKKyAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7
CisgICAgdXNpbmcgUmVmQ291bnRlZDo6ZGVyZWY7CisKK3ByaXZhdGU6CisgICAgUGVybWlzc2lv
blN0YXR1cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUGVybWlzc2lvblN0YXRlLCBQZXJtaXNz
aW9uTmFtZSk7CisKKyAgICAvLyBBY3RpdmVET01PYmplY3QKKyAgICBjb25zdCBjaGFyKiBhY3Rp
dmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7CisgICAgdm9pZCBzdXNwZW5kKFJlYXNvbkZv
clN1c3BlbnNpb24pIGZpbmFsOworICAgIHZvaWQgc3RvcCgpIGZpbmFsOworCisgICAgLy8gRXZl
bnRUYXJnZXQKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCk7IH0KKyAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVy
ZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFNwZWVjaFJlY29nbml0aW9uRXZlbnRUYXJnZXRJ
bnRlcmZhY2VUeXBlOyB9CisgICAgdm9pZCByZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVmKCk7
IH0KKyAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KKworICAg
IFBlcm1pc3Npb25TdGF0ZSBtX3N0YXRlOworICAgIFBlcm1pc3Npb25OYW1lIG1fbmFtZTsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiNzgx
NDJlNjk5ZTIwZTZiZTg2Y2M1Y2UyMDU2ZDFkZWI2OTJlZDAKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCkBA
IC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworIAorLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Bl
cm1pc3Npb25zLyNwZXJtaXNzaW9uc3RhdHVzCisKK1sKKyAgICBBY3RpdmVET01PYmplY3QsCisg
ICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKKyAgICBFeHBvc2VkPShXaW5kb3cs
V29ya2VyKQorXSBpbnRlcmZhY2UgUGVybWlzc2lvblN0YXR1cyA6IEV2ZW50VGFyZ2V0IHsKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgUGVybWlzc2lvblN0YXRlIHN0YXRlOworICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBQZXJtaXNzaW9uTmFtZSBuYW1lOworICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRs
ZXIgb25jaGFuZ2U7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzI4NWZlMWU1ZWQ1YzNlNzcwZWVmYjk3
ZDU4NWRlMTQ4NDU4YWM0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAKQEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9ucy5oIgorCisjaW5j
bHVkZSAiRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNp
bmNsdWRlICJKU1Blcm1pc3Npb25EZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgi
CisjaW5jbHVkZSAiUGVybWlzc2lvbkRlc2NyaXB0b3IuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChQZXJtaXNzaW9ucyk7CisKK1JlZjxQZXJtaXNzaW9ucz4gUGVybWlzc2lvbnM6
OmNyZWF0ZShOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBQZXJtaXNzaW9ucyhuYXZpZ2F0b3IpKTsKK30KKworUGVybWlzc2lvbnM6OlBlcm1pc3Npb25z
KE5hdmlnYXRvciYgbmF2aWdhdG9yKQorICAgIDogbV9uYXZpZ2F0b3IobWFrZVdlYWtQdHIobmF2
aWdhdG9yKSkKK3sKK30KKworTmF2aWdhdG9yKiBQZXJtaXNzaW9uczo6bmF2aWdhdG9yKCkKK3sK
KyAgICByZXR1cm4gbV9uYXZpZ2F0b3IuZ2V0KCk7Cit9CisKK3ZvaWQgUGVybWlzc2lvbnM6OnF1
ZXJ5KEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSlNDOjpTdHJvbmc8SlNDOjpK
U09iamVjdD4gcGVybWlzc2lvbkRlc2NyaXB0b3JWYWx1ZSwgRE9NUHJvbWlzZURlZmVycmVkPElE
TEludGVyZmFjZTxQZXJtaXNzaW9uU3RhdHVzPj4mJiBwcm9taXNlKQoreworICAgIEpTQzo6Vk0m
IHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1df
U0NPUEUodm0pOworCisgICAgaWYgKCFwZXJtaXNzaW9uRGVzY3JpcHRvclZhbHVlKSB7CisgICAg
ICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IERhdGFFcnJvciwgIlRoZSBwYXJhbWV0ZXIg
aXMgaW52YWxpZCJfcyB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gcGFy
YW1ldGVyRGVzY3JpcHRvciA9IGNvbnZlcnQ8SURMRGljdGlvbmFyeTxQZXJtaXNzaW9uRGVzY3Jp
cHRvcj4+KGdsb2JhbE9iamVjdCwgcGVybWlzc2lvbkRlc2NyaXB0b3JWYWx1ZS5nZXQoKSk7Cisg
ICAgaWYgKFVOTElLRUxZKHNjb3BlLmV4Y2VwdGlvbigpKSkgeworICAgICAgICBwcm9taXNlLnJl
amVjdChFeGNlcHRpb24geyBFeGlzdGluZ0V4Y2VwdGlvbkVycm9yIH0pOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgVU5VU0VEX1BBUkFNKHBhcmFtZXRlckRlc2NyaXB0b3IpOworICAg
IHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCAiTm90IGltcGxl
bWVudGVkIl9zIH0pOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE4
MmMzYzM5NTExNTU5NGQzY2VhMmUxYTA5ZTVlODYyYWU0MjcxYgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaApAQCAtMCww
ICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJJRExUeXBl
cy5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0cm9uZy5oPgorI2luY2x1ZGUgPHd0Zi9J
c29NYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCituYW1lc3BhY2UgSlNDIHsK
K2NsYXNzIEpTT2JqZWN0OworfSAvLyBuYW1lc3BhY2UgSlNDCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgTmF2aWdhdG9yOworY2xhc3MgUGVybWlzc2lvblN0YXR1czsKKwordGVtcGxh
dGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCitjbGFzcyBQ
ZXJtaXNzaW9ucyBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcm1pc3Npb25zPiB7CisgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChQZXJtaXNzaW9ucyk7CitwdWJsaWM6CisgICAgc3RhdGlj
IFJlZjxQZXJtaXNzaW9ucz4gY3JlYXRlKE5hdmlnYXRvciYpOworCisgICAgTmF2aWdhdG9yKiBu
YXZpZ2F0b3IoKTsKKyAgICB2b2lkIHF1ZXJ5KEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OlN0
cm9uZzxKU0M6OkpTT2JqZWN0PiwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQZXJt
aXNzaW9uU3RhdHVzPj4mJik7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgUGVybWlzc2lvbnMo
TmF2aWdhdG9yJik7CisKKyAgICBXZWFrUHRyPE5hdmlnYXRvcj4gbV9uYXZpZ2F0b3I7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyZDEzZTdjNzk4NjEyYjQy
MzYzNzdmZmVlM2MxMWQ2Y2MzMjE0YmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbApAQCAtMCwwICsxLDM1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNwZXJtaXNz
aW9ucy1pbnRlcmZhY2UKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEks
CisgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVGcm9tTmF2aWdhdG9yLAorICAgIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKK10g
aW50ZXJmYWNlIFBlcm1pc3Npb25zIHsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSBQcm9t
aXNlPFBlcm1pc3Npb25TdGF0dXM+IHF1ZXJ5KG9iamVjdCBwZXJtaXNzaW9uRGVzYyk7Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAppbmRleCAwM2UxMmE3YTc4NzIzMWQ2YTg5ZWMzNzVhZmE1YzQ3ZGMxNmYyOWMz
Li4zMTNlZWU4ZWVjZGNlZmFkMmNkZjUxMmE0MGY2YTU0NjI4MjExYTY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dApAQCAtMjAzLDYgKzIwMyw5IEBAIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVl
c3QuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQu
Y3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXRpbGl0aWVzLmNwcAog
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuY3BwCitNb2R1bGVzL3Blcm1p
c3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcAorTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uU3RhdHVzLmNwcAorTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAKIE1v
ZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCiBNb2R1
bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuY3BwCiBNb2R1
bGVzL3BpY3R1cmVpbnBpY3R1cmUvSFRNTFZpZGVvRWxlbWVudFBpY3R1cmVJblBpY3R1cmUuY3Bw
CkBAIC0zMjcxLDYgKzMyNzQsMTEgQEAgSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAKIEpTUGVyaW9k
aWNXYXZlLmNwcAogSlNQZXJpb2RpY1dhdmVDb25zdHJhaW50cy5jcHAKIEpTUGVyaW9kaWNXYXZl
T3B0aW9ucy5jcHAKK0pTUGVybWlzc2lvbkRlc2NyaXB0b3IuY3BwCitKU1Blcm1pc3Npb25OYW1l
LmNwcAorSlNQZXJtaXNzaW9uU3RhdGUuY3BwCitKU1Blcm1pc3Npb25TdGF0dXMuY3BwCitKU1Bl
cm1pc3Npb25zLmNwcAogSlNQaWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcAogSlNQbGF5YmFja0Rp
cmVjdGlvbi5jcHAKIEpTUG9pbnRlckV2ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM4M2IyNWNjZmIyYmVmMTA4NmMy
MDQ0MThlZTc2ZTI1YjEwMWFmYmIuLjIzM2IxNzAwNTVlZDVlZGIwZWQ4ODNjODA5MjUwZWUwOGE5
MzFkNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTI4NzcsNiArMjg3NywxMiBAQAogCQk5M0E4MDYxNzFFMDNCNTFDMDA4QTFG
MjYgLyogTG9uZ1JhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5M0E4MDYxMzFFMDNCNTFDMDA4QTFGMjYgLyogTG9uZ1JhbmdlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNBODA2MUUxRTAzQjU4
NTAwOEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTgwNjFBMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJh
bmdlLmggKi87IH07CiAJCTkzQTgwNjIwMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBODA2MUMx
RTAzQjU4NTAwOEExRjI2IC8qIEpTTG9uZ1JhbmdlLmggKi87IH07CisJCTkzQjBBNjUzMjZDREQx
NDEwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5h
dmlnYXRvclBlcm1pc3Npb25zLmggKi87IH07CisJCTkzQjBBNjU0MjZDREQxNDEwMEFBMjFFNCAv
KiBQZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNCMEE2NEIyNkNERDEzRTAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmggKi87IH07CisJ
CTkzQjBBNjU2MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY0RDI2Q0REMTNGMDBB
QTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5oICovOyB9OworCQk5M0IwQTY1NzI2Q0REMTQxMDBB
QTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uRGVzY3JpcHRvci5oICovOyB9OworCQk5M0IwQTY1OTI2Q0REMTQxMDBBQTIxRTQgLyogUGVy
bWlzc2lvbk5hbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzQjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oICovOyB9Owor
CQk5M0IwQTY1QjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY1MjI2Q0REMTQxMDBB
QTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggKi87IH07CiAJCTkzQjJEODE2MEY5OTIwRDIwMDZB
RTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1p
bmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJOTNCMzhFQzMyNTgyMURCNDAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IzOEVCQTI1
ODIxOTNCMDAxOThFNjMgLyogV2ViU3BlZWNoUmVjb2duaXplclRhc2suaCAqLzsgfTsKIAkJOTNC
MzhFQzQyNTgyMURCNzAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMzhFQkIyNTgy
MTkzRDAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oICovOyB9OwpAQCAt
MTE2OTQsNiArMTE3MDAsMjEgQEAKIAkJOTNBODA2MUExRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91
YmxlUmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEb3VibGVSYW5n
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0E4MDYxQjFFMDNCNTg1MDA4QTFG
MjYgLyogSlNMb25nUmFuZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNMb25nUmFuZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0E4MDYx
QzFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNMb25nUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTNCMEE2NDQyNkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvblN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOTNCMEE2NDUyNkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9y
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ2MjZDREM1QjcwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9uTmFtZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvbk5hbWUu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0NzI2Q0RDNUI3MDBBQTIx
RTQgLyogTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAi
TmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTkzQjBBNjQ4MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gUGVybWlzc2lvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk5M0IwQTY0OTI2Q0RDNUI4MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTkzQjBBNjRBMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNz
aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JQZXJtaXNz
aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0QjI2Q0REMTNFMDBB
QTIxRTQgLyogUGVybWlzc2lvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UGVybWlzc2lvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEMyNkNE
RDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Np
b25TdGF0dXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvblN0
YXR1cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0RTI2Q0REMTNGMDBB
QTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGVybWlzc2lvbkRlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTNCMEE2NEYyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjUwMjZDREQxNDAwMEFBMjFFNCAv
KiBQZXJtaXNzaW9uTmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJt
aXNzaW9uTmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MTI2Q0RE
MTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUGVybWlzc2lvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk5M0IwQTY1MjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0ZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5M0IyRDgxNTBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWlu
YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3VkZGVuVGVybWluYXRp
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMkQ4MTcwRjk5MjBFRTAwNkFF
NkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gU3VkZGVuVGVybWluYXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkzQjM4RUI4MjU4MjE4OTkwMDE5OEU2MyAvKiBTcGVlY2hSZWNvZ25pemVyQ29jb2Eu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTcGVlY2hSZWNvZ25p
emVyQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzE3NSw2ICsyMzE5
NiwyOCBAQAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07
CisJCTkzQjBBNjQyMjZDREM1NzQwMEFBMjFFNCAvKiBwZXJtaXNzaW9ucyAqLyA9IHsKKwkJCWlz
YSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJOTNCMEE2NDcyNkNEQzVCNzAwQUEy
MUU0IC8qIE5hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgKi8sCisJCQkJOTNCMEE2NEMyNkNERDEz
RTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcCAqLywKKwkJCQk5M0IwQTY0QTI2
Q0REMTNFMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCAqLywKKwkJCQk5M0IwQTY0
RTI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCAqLywKKwkJCQk5M0Iw
QTY0NTI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsICovLAorCQkJ
CTkzQjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oICovLAorCQkJCTkz
QjBBNjQ2MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5pZGwgKi8sCisJCQkJOTNC
MEE2NTEyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmNwcCAqLywKKwkJCQk5M0IwQTY0
QjI2Q0REMTNFMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCAqLywKKwkJCQk5M0IwQTY0ODI2Q0RD
NUI3MDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaWRsICovLAorCQkJCTkzQjBBNjUyMjZDREQxNDEw
MEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCAqLywKKwkJCQk5M0IwQTY0NDI2Q0RDNUI2MDBB
QTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmlkbCAqLywKKwkJCQk5M0IwQTY0RjI2Q0REMTQwMDBB
QTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5jcHAgKi8sCisJCQkJOTNCMEE2NEQyNkNERDEzRjAw
QUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCAqLywKKwkJCQk5M0IwQTY0OTI2Q0RDNUI4MDBB
QTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5pZGwgKi8sCisJCQkpOworCQkJcGF0aCA9IHBlcm1p
c3Npb25zOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJOTNCMzhFQjYyNTgy
MTgzMzAwMTk4RTYzIC8qIGNvY29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGls
ZHJlbiA9ICgKQEAgLTIzNzgwLDYgKzIzODIzLDcgQEAKIAkJCQk3MUQ2QUEzOTFEQTRFQUY3MDBC
MjM5NjkgLyogbW9kZXJuLW1lZGlhLWNvbnRyb2xzICovLAogCQkJCTMzM0Y3MDNEMEZCNDlDMTYw
MDhFMTJBNiAvKiBub3RpZmljYXRpb25zICovLAogCQkJCUExRjc2QjBFMUY0NEMwQ0YwMDE0QzMx
OCAvKiBwYXltZW50cmVxdWVzdCAqLywKKwkJCQk5M0IwQTY0MjI2Q0RDNTc0MDBBQTIxRTQgLyog
cGVybWlzc2lvbnMgKi8sCiAJCQkJMURFRjA2QTIyMzNDMzJEQjAwRUUyMjhEIC8qIHBpY3R1cmVp
bnBpY3R1cmUgKi8sCiAJCQkJMDcyQUUxREUxODNDMDUxMzAwMEE1OTg4IC8qIHBsdWdpbnMgKi8s
CiAJCQkJQ0RDMzEyRTAyMkZDRDBCMDAwMTIwNEVDIC8qIHJlbW90ZXBsYXliYWNrICovLApAQCAt
MzM1MjIsNyArMzM1NjYsNiBAQAogCQkJCTdBRTZDOTNDMUJFMEM2MDEwMEUxOUUwMyAvKiBNYWlu
VGhyZWFkU2hhcmVkVGltZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NTFDNjMyMjM5NDAzMUEw
MDk5MzE5MCAvKiBNYXJnaW5UeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxODY2NDUxRjcy
RTVCNDAwQTBDQUI2IC8qIE1hcmtlZFRleHQuaCBpbiBIZWFkZXJzICovLAotCQkJCUU0NDBGRDUz
MjVBNEFGREYwMEY3Qzg0OSAvKiBTdHlsZWRNYXJrZWRUZXh0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5MzMwOURGODA5OUU2NDkyMDA1NkU1ODEgLyogbWFya3VwLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5NzI4QzMxNDEyNjhFNDM5MDA0MUU4OUIgLyogTWFya3VwQWNjdW11bGF0b3IuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTAwQzYwRTNGMTNENzZEN0UwMDkyQTI3NSAvKiBNYXJrdXBUb2tlbml6ZXJJ
bmxpbmVzLmggaW4gSGVhZGVycyAqLywKQEAgLTMzNzQ1LDYgKzMzNzg4LDcgQEAKIAkJCQk2QjUw
N0EyNDIzNEJGMzQxMDBCRTdDNjIgLyogTmF2aWdhdG9ySXNMb2dnZWRJbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNUVBNzI1RDYxQUNBQkQ1NzAwRUFEMTdCIC8qIE5hdmlnYXRvck1lZGlhRGV2aWNl
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc3QkE1NzIyNjBGQTAxNDAwNzJGMTlGIC8qIE5hdmln
YXRvck1lZGlhU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTMyNkNERDE0MTAw
QUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTZF
NTlERjFERjAxMjhEMDA2NjEyQjkgLyogTmF2aWdhdG9yV2ViRHJpdmVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMUVFOEI3ODI0MTMxOTFGMDBFNzk0RDYgLyogTmF2aWdhdG9yV2ViWFIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCThBMzA5QzlGMTIzOTUwQkUwMENCOTIwNCAvKiBOZXN0aW5nTGV2ZWxJ
bmNyZW1lbnRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzk0NCw2ICszMzk4OCwxMSBAQAogCQkJ
CUZENTgxRkI1MTUyMEY5M0IwMDNBN0E3NSAvKiBQZXJpb2RpY1dhdmUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUU3NTVFODkyMjRDNzQzNEIwMDlGN0MyMyAvKiBQZXJpb2RpY1dhdmVDb25zdHJhaW50
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTc1NUU4OTkyNEM3NDYxRDAwOUY3QzIzIC8qIFBlcmlv
ZGljV2F2ZU9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjU3MjZDREQxNDEwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2
NTkyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk5M0IwQTY1NDI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTkzQjBBNjVCMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTkzQjBBNjU2MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3Rh
dHVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUQ1REMyRTBGNDIzQTczMDA4RjIwRkQgLyogUGVy
c3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTFEQkMxQjU2
MjM0N0IzRDIwMEI5MDFBRiAvKiBQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFEMkM4MkI3MjM2QTNGNkEwMDU1RDZDNSAvKiBQaWN0dXJlSW5QaWN0dXJlU3Vw
cG9ydC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNDY5NCw2ICszNDc0Myw3IEBACiAJCQkJQkM3NzlF
MTcxQkIyMjdDQTAwQ0FBOEJGIC8qIFN0eWxlQ3VzdG9tUHJvcGVydHlEYXRhLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBOEM0QTdGRDA5RDU2MzI3MDAwM0FDOEQgLyogU3R5bGVkRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM1RUI4QjkwRTgyMDFCRDAwQjI1OTY1IC8qIFN0eWxlRGVwcmVj
YXRlZEZsZXhpYmxlQm94RGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTQ0MEZENTMyNUE0QUZE
RjAwRjdDODQ5IC8qIFN0eWxlZE1hcmtlZFRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxOUFF
MDY0MTQyRDZCMjQwMDY1NjNBMSAvKiBTdHlsZUZpbHRlckRhdGEuaCBpbiBIZWFkZXJzICovLAog
CQkJCTUzMTc2MTIzMTNDNTE2NjkwMDI2RTQ1NCAvKiBTdHlsZUZsZXhpYmxlQm94RGF0YS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTRENThFQjkxN0I0RUQ4OTAwQ0JEQ0E4IC8qIFN0eWxlRm9udFNp
emVGdW5jdGlvbnMuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IGYxODFjNzk2ZDY1MGNjODZmZTNmMDhh
NzIwMDdhNmVkYzJlZmJjNzguLjg1MWEyMTRjOWE0ODdmZjY4ZDE2YmU3ZGQ4ZmJiNTIwODg3ZWI5
MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGlu
TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5h
bWVzLmgKQEAgLTE1NCw2ICsxNTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8o
TW9ja1JUQ1J0cFRyYW5zZm9ybSkgXAogICAgIG1hY3JvKE5hdmlnYXRvckNyZWRlbnRpYWxzKSBc
CiAgICAgbWFjcm8oTmF2aWdhdG9yTWVkaWFEZXZpY2VzKSBcCisgICAgbWFjcm8oTmF2aWdhdG9y
UGVybWlzc2lvbnMpIFwKICAgICBtYWNybyhOYXZpZ2F0b3JVc2VyTWVkaWEpIFwKICAgICBtYWNy
byhPZmZsaW5lQXVkaW9Db250ZXh0KSBcCiAgICAgbWFjcm8oT2Zmc2NyZWVuQ2FudmFzKSBcCkBA
IC0xODIsNiArMTgzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1h
bmNlUGFpbnRUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKSBc
CiAgICAgbWFjcm8oUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcpIFwKKyAgICBtYWNybyhQZXJtaXNz
aW9uRGVzY3JpcHRvcikgXAorICAgIG1hY3JvKFBlcm1pc3Npb25TdGF0dXMpIFwKKyAgICBtYWNy
byhQZXJtaXNzaW9ucykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXAogICAgIG1hY3JvKFB1
YmxpY0tleUNyZWRlbnRpYWwpIFwKICAgICBtYWNybyhSZXNpemVPYnNlcnZlcikgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KaW5kZXggNWU1OGYxMTE2NjdlZjYyMTBk
NTMxMTBkN2I1NGE4MDJjODQzOTVkOC4uMDEzY2VkMDk0NmZmY2Q1MjU5ZmEyNTBiMTYwM2ExOGU0
NTllNDU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9y
eS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCkBAIC0z
NSw2ICszNSw3IEBAIE9mZnNjcmVlbkNhbnZhcyBjb25kaXRpb25hbD1PRkZTQ1JFRU5fQ0FOVkFT
CiBQYXltZW50UmVxdWVzdCBjb25kaXRpb25hbD1QQVlNRU5UX1JFUVVFU1QKIFBheW1lbnRSZXNw
b25zZSBjb25kaXRpb25hbD1QQVlNRU5UX1JFUVVFU1QKIFBlcmZvcm1hbmNlCitQZXJtaXNzaW9u
U3RhdHVzCiBQaWN0dXJlSW5QaWN0dXJlV2luZG93IGNvbmRpdGlvbmFsPVBJQ1RVUkVfSU5fUElD
VFVSRV9BUEkKIFJlbW90ZVBsYXliYWNrIGNvbmRpdGlvbmFsPVdJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVAogUlRDRGF0YUNoYW5uZWwgY29uZGl0aW9uYWw9V0VCX1JUQwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436021</attachid>
            <date>2021-08-20 13:26:56 -0700</date>
            <delta_ts>2021-08-26 11:22:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210820132655.patch</filename>
            <type>text/plain</type>
            <size>56686</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGZlNDUwNDFhODc5MGFjMmY2MTIxZmNj
YjIwZmVlZTUzOTQ2MmVlZDAuLmFkODAzNzNjYjUwYzdhMDY3YzFhYWU2OWI2YjRhMTJlOTllZGVh
YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMjAgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGZlYXR1cmUgZmxhZyBhbmQgYmluZGluZ3MgZm9y
IFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFs
LnlhbWw6CisKIDIwMjEtMDgtMjAgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAg
ICAgICAgIE1ha2UgcHRyVGFnTmFtZSBhbmQgdGFnRm9yUHRyIFdURl9FWFBPUlRfUFJJVkFURS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NTc4MWRiN2ZhOWY1MzhiM2UyYTRiODc4NGI1YmYwMWU4Yjc3YTU5Li40
N2ZmZTU4OWVlYTU5ZDBhNmNlMzM4MDMyMzc4MGVlOTQwYmRkZjI2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNTAgQEAKKzIwMjEtMDgtMjAgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIGZlYXR1cmUgZmxhZyBhbmQgYmluZGluZ3MgZm9yIFBlcm1pc3Npb25z
IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5
MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3Bl
YzogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLworCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9k
dWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAg
ICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVybWlz
c2lvbnMpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Np
b25zKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFtZSk6Cisg
ICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOiBBZGRl
ZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmg6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0
b3IuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25O
YW1lLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5h
bWUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25T
dGF0ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25T
dGF0ZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
blN0YXR1cy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OlBlcm1pc3Npb25T
dGF0dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6YWN0aXZlRE9NT2Jq
ZWN0TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdHVzOjpzdXNw
ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OnN0b3ApOgorICAgICAg
ICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5oOiBBZGRlZC4KKyAgICAg
ICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uczo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBl
cm1pc3Npb25zOjpQZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uczo6
bmF2aWdhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpxdWVyeSk6CisgICAg
ICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oOiBBZGRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbDogQWRkZWQuCisgICAgICAgICog
U291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAg
KiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorCiAyMDIxLTA4LTIwICBDb21taXQgUXVldWUg
IDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRp
bmcgcjI4MTMwNy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9X
ZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZl
cmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXggNWZkYjI0NTRjOTk0
NDQwZjdlOGRmNzUyN2ZmY2UxODcwMzNiMzk3YS4uMzdiNjg5MTI5NDQyMGNjZjlhZGY4M2FiNmUz
MjUxYWI2MTkwNDBjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2Vz
L1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKQEAgLTg2OSw2ICs4
NjksMTggQEAgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ1NlbnNpdGl2ZVByb3BlcnRpZXNFbmFi
bGVkOgogICAgIFdlYkNvcmU6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogCitQZXJtaXNzaW9uc0FQ
SUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJQZXJtaXNzaW9u
cyBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQZXJtaXNzaW9ucyBB
UEkiCisgIGRlZmF1bHRWYWx1ZToKKyAgICBXZWJLaXRMZWdhY3k6CisgICAgICBkZWZhdWx0OiBm
YWxzZQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViQ29yZToKKyAg
ICAgIGRlZmF1bHQ6IGZhbHNlCisKIFByaXZhdGVDbGlja01lYXN1cmVtZW50RGVidWdNb2RlRW5h
YmxlZDoKICAgdHlwZTogYm9vbAogICBodW1hblJlYWRhYmxlTmFtZTogIlByaXZhdGUgQ2xpY2sg
TWVhc3VyZW1lbnQgRGVidWcgTW9kZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYmJiODQyYTUz
OWExMDg3YzllMWRiNDYzZDAxOWRkMmIxMjMxNDJjOS4uMTc0Y2QxYmQwM2U4N2M3YzI2ZmVlNTEz
NmE4ZWEzMjUwMzg1OTlkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ2MCw2ICs0NjAsMTMg
QEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L1BheW1lbnRTaGlwcGluZ1R5cGUuaWRsCiAgICAgTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50VmFsaWRhdGlvbkVycm9ycy5pZGwKIAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2
aWdhdG9yK1Blcm1pc3Npb25zLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bkRlc2NyaXB0b3IuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5p
ZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwKKyAgICBNb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9ucy5pZGwKKwogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1
bWVudCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9E
b2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGlj
dHVyZWlucGljdHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDM5YjJiMzAwNGU0
YzU3OTQzN2U2NWFjYTk3MzI3Yzc4ZDRkNzQ1ZGUuLjUxMWI1MTMxMjAwYWJlYzgzYmU0OTA3YTdi
ZTQxOTIzYTYyZjM2OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdApAQCAtMzg4LDYgKzM4OCwxMiBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdUeXBlLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVycm9ycy5p
ZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Np
b25zLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVz
Y3JpcHRvci5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bk5hbWUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25T
dGF0ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMu
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGlj
dHVyZUluUGljdHVyZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVy
ZS9Eb2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50Lmlk
bApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApp
bmRleCAxOTY3MWY3NTA2ZDZhNzkzNzRjNWVhNDVhYzc3MWZjN2YxYjc5NTJiLi45YjQ4NGFiYTQ4
YzJjNWNmYzYwYWNlZWVjMjkzZWJjYTljMzk3MWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTM3Nyw2ICsxMzc3LDggQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVk
aWFEZXZpY2VzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOYXZpZ2F0b3IrTWVkaWFEZXZpY2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vzc2lvbi5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vz
c2lvbi5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05h
dmlnYXRvcitQZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1Blcm1pc3Npb25zLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dlYkRyaXZlci5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dl
YkRyaXZlci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U05hdmlnYXRvcitXZWJYUi5jcHAKQEAgLTE1ODMsNiArMTU4NSwxNiBAQCAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZUNvbnN0cmFpbnRz
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJp
b2RpY1dhdmVDb25zdHJhaW50cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uRGVzY3Jp
cHRvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UGVybWlzc2lvbkRlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uTmFtZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbk5hbWUuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdGUuY3BwCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0
ZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1p
c3Npb25TdGF0dXMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1Blcm1pc3Npb25TdGF0dXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbnMuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5Q
aWN0dXJlV2luZG93LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUGxheWJhY2tEaXJlY3Rpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCBkNjRlNjVlODZlNWUxMTQyNjY3YTllMzgyNzY4M2E5NjkyZjI3YWYxLi5mOWVlNjQyOGJh
MGE1NGQ1NGMwMjU3YWE2ZDZhMDAwMWUyZTQyMWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKQEAgLTMyNCw2ICszMjQsMTIgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ1R5
cGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFZh
bGlkYXRpb25FcnJvcnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMv
TmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGljdHVyZUluUGljdHVyZS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50K1Bp
Y3R1cmVJblBpY3R1cmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlucGlj
dHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5k
ZXggN2Q0ZmQ4YjcyNzEyM2JiMGQyMjA3N2RhYjUyMjIyNTkzMjdjM2JlOS4uMmRmZWU3YzQ4YmRj
M2Y2ZDc0MTlkY2RiMzQxMzhmODEwNzc2YWFlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
SGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMjgs
NiArMTI4LDEwIEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBN
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbi5oCiAgICAgTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oCiAKKyAgICBN
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCisgICAgTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdHVzLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Np
b25zLmgKKwogICAgIE1vZHVsZXMvcGx1Z2lucy9QbHVnaW5SZXBsYWNlbWVudC5oCiAgICAgTW9k
dWxlcy9wbHVnaW5zL1lvdVR1YmVQbHVnaW5SZXBsYWNlbWVudC5oCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Np
b25zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42MGIxMjdlN2YzYTFjNTY2NmNkMGQwYzg4ZmU5MTFlOTZjODM0
ZjY1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI25hdmlnYXRvci1hbmQtd29y
a2VybmF2aWdhdG9yLWV4dGVuc2lvbgorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNz
aW9uc0FQSSwKKyAgICBJbXBsZW1lbnRlZEJ5PU5hdmlnYXRvclBlcm1pc3Npb25zCitdIHBhcnRp
YWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7CisgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBQZXJtaXNzaW9ucyBwZXJtaXNzaW9uczsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjM5MWY1NTU4ODZkOGU3MWEzNDllZTc1YmYzYzQxNmYwMmYxYzQ3YWIKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRv
clBlcm1pc3Npb25zLmNwcApAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIk5hdmlnYXRvclBlcm1pc3Npb25zLmgiCisKKyNpbmNsdWRl
ICJOYXZpZ2F0b3IuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9ucy5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK05hdmlnYXRvclBlcm1pc3Npb25zOjpOYXZpZ2F0b3JQZXJtaXNzaW9ucyhOYXZp
Z2F0b3ImIG5hdmlnYXRvcikKKyAgICA6IG1fbmF2aWdhdG9yKG5hdmlnYXRvcikKK3sKK30KKwor
UmVmUHRyPFBlcm1pc3Npb25zPiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6cGVybWlzc2lvbnMoTmF2
aWdhdG9yJiBuYXZpZ2F0b3IpCit7CisgICAgcmV0dXJuIE5hdmlnYXRvclBlcm1pc3Npb25zOjpm
cm9tKG5hdmlnYXRvciktPnBlcm1pc3Npb25zKCk7Cit9CisKK1JlZlB0cjxQZXJtaXNzaW9ucz4g
TmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKCkKK3sKKyAgICBpZiAoIW1fcGVybWlz
c2lvbnMpCisgICAgICAgIG1fcGVybWlzc2lvbnMgPSBQZXJtaXNzaW9uczo6Y3JlYXRlKG1fbmF2
aWdhdG9yKTsKKworICAgIHJldHVybiBtX3Blcm1pc3Npb25zOworfQorCitOYXZpZ2F0b3JQZXJt
aXNzaW9ucyogTmF2aWdhdG9yUGVybWlzc2lvbnM6OmZyb20oTmF2aWdhdG9yJiBuYXZpZ2F0b3Ip
Cit7CisgICAgYXV0byogc3VwcGxlbWVudCA9IHN0YXRpY19jYXN0PE5hdmlnYXRvclBlcm1pc3Np
b25zKj4oU3VwcGxlbWVudDxOYXZpZ2F0b3I+Ojpmcm9tKCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnRO
YW1lKCkpKTsKKyAgICBpZiAoIXN1cHBsZW1lbnQpIHsKKyAgICAgICAgYXV0byBuZXdTdXBwbGVt
ZW50ID0gbWFrZVVuaXF1ZTxOYXZpZ2F0b3JQZXJtaXNzaW9ucz4obmF2aWdhdG9yKTsKKyAgICAg
ICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7CisgICAgICAgIHByb3ZpZGVUbygm
bmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpLCBXVEZNb3ZlKG5ld1N1cHBsZW1lbnQpKTsKKyAg
ICB9CisKKyAgICByZXR1cm4gc3VwcGxlbWVudDsKK30KKworY29uc3QgY2hhciogTmF2aWdhdG9y
UGVybWlzc2lvbnM6OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAgICByZXR1cm4gIk5hdmlnYXRvclBl
cm1pc3Npb25zIjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjcwYTczOWRhNzE0NDBjN2EzM2IyMzJjYWU5ODM1MjAxOWZkYTQ0NGMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmln
YXRvclBlcm1pc3Npb25zLmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBOYXZpZ2F0b3I7CitjbGFzcyBQZXJtaXNzaW9uczsKKworY2xhc3MgTmF2aWdh
dG9yUGVybWlzc2lvbnMgZmluYWwgOiBwdWJsaWMgU3VwcGxlbWVudDxOYXZpZ2F0b3I+IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBOYXZpZ2F0
b3JQZXJtaXNzaW9ucyhOYXZpZ2F0b3ImKTsKKworICAgIHN0YXRpYyBSZWZQdHI8UGVybWlzc2lv
bnM+IHBlcm1pc3Npb25zKE5hdmlnYXRvciYpOworICAgIFJlZlB0cjxQZXJtaXNzaW9ucz4gcGVy
bWlzc2lvbnMoKTsKKworcHJpdmF0ZToKKyAgICBzdGF0aWMgTmF2aWdhdG9yUGVybWlzc2lvbnMq
IGZyb20oTmF2aWdhdG9yJik7CisgICAgc3RhdGljIGNvbnN0IGNoYXIqIHN1cHBsZW1lbnROYW1l
KCk7CisKKyAgICBSZWZQdHI8UGVybWlzc2lvbnM+IG1fcGVybWlzc2lvbnM7CisgICAgTmF2aWdh
dG9yJiBtX25hdmlnYXRvcjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
Yzg5OWE3MjI2MGJjOWQwYzAwYTIwNzU4M2M1Zjc4NDU1ODkwNGQxCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRv
ci5oCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgIlBlcm1pc3Npb25OYW1lLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IFBl
cm1pc3Npb25EZXNjcmlwdG9yIHsKKyAgICBQZXJtaXNzaW9uTmFtZSBuYW1lOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZjM2
YTMyYTJjY2NkMzM5OTM5YjdkZTgzNWRmZWRiYmY0ZjU3Y2M4Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5p
ZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5p
by9wZXJtaXNzaW9ucy8jZGljdGRlZi1wZXJtaXNzaW9uZGVzY3JpcHRvcgorCitbCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKK10gZGljdGlvbmFyeSBQZXJtaXNzaW9uRGVz
Y3JpcHRvciB7CisgICAgcmVxdWlyZWQgUGVybWlzc2lvbk5hbWUgbmFtZTsKK307CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjhhYmExYTljMWMwYjBjZTRhNTI1ZjQ3Nzg5NjQyZTQyMzU0ZjkzMAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bk5hbWUuaApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBQZXJtaXNzaW9uTmFtZSB7CisgICAgQWNj
ZWxlcm9tZXRlciwKKyAgICBBbWJpZW50TGlnaHRTZW5zb3IsCisgICAgQmFja2dyb3VuZEZldGNo
LAorICAgIEJhY2tncm91bmRTeW5jLAorICAgIEJsdWV0b290aCwKKyAgICBDYW1lcmEsCisgICAg
RGlzcGxheUNhcHR1cmUsCisgICAgR2VvbG9jYXRpb24sCisgICAgR3lyb3Njb3BlLAorICAgIE1h
Z25ldG9tZXRlciwKKyAgICBNaWNyb3Bob25lLAorICAgIE1pZGksCisgICAgTmZjLAorICAgIE5v
dGlmaWNhdGlvbnMsCisgICAgUGVyc2lzdGVudFN0b3JhZ2UsCisgICAgUHVzaCwKKyAgICBTY3Jl
ZW5XYWtlTG9jaywKKyAgICBTcGVha2VyU2VsZWN0aW9uCit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25OYW1lLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbk5hbWUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzYWNkZjI4YzY0MjExMGViNjEwZmU5ZTk4N2I2
YmU2N2RkZGE2MjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNlbnVtZGVmLXBlcm1pc3Np
b25uYW1lCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBlbnVt
IFBlcm1pc3Npb25OYW1lIHsKKyAgICAiYWNjZWxlcm9tZXRlciIsCisgICAgImFtYmllbnQtbGln
aHQtc2Vuc29yIiwKKyAgICAiYmFja2dyb3VuZC1mZXRjaCIsCisgICAgImJhY2tncm91bmQtc3lu
YyIsCisgICAgImJsdWV0b290aCIsCisgICAgImNhbWVyYSIsCisgICAgImRpc3BsYXktY2FwdHVy
ZSIsCisgICAgImdlb2xvY2F0aW9uIiwKKyAgICAiZ3lyb3Njb3BlIiwKKyAgICAibWFnbmV0b21l
dGVyIiwKKyAgICAibWljcm9waG9uZSIsCisgICAgIm1pZGkiLAorICAgICJuZmMiLAorICAgICJu
b3RpZmljYXRpb25zIiwKKyAgICAicGVyc2lzdGVudC1zdG9yYWdlIiwKKyAgICAicHVzaCIsCisg
ICAgInNjcmVlbi13YWtlLWxvY2siLAorICAgICJzcGVha2VyLXNlbGVjdGlvbiIKK307CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41Mjg1MWYwMjQ5NTk0OGU4M2EzNGZjMzQxZDA0OTE2ZTQxMDdhNDEwCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uU3RhdGUuaApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBQZXJtaXNzaW9uU3RhdGUgewor
ICAgIEdyYW50ZWQsCisgICAgRGVuaWVkLAorICAgIFByb21wdAorfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uU3RhdGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uU3RhdGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1Nzc5NzgxMmQxOTg2OWVmM2U1MWEy
ZGI5ZWE4YTdhZjE2OGFjOWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jZW51bWRlZi1w
ZXJtaXNzaW9uc3RhdGUKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEks
CitdIGVudW0gUGVybWlzc2lvblN0YXRlIHsKKyAgICAiZ3JhbnRlZCIsCisgICAgImRlbmllZCIs
CisgICAgInByb21wdCIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjBkNzg4NjNiYTE3
ZGRkMTRmYWU2MGUzYWQ2MTA3ODdlODNjNTBlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcApAQCAtMCwwICsx
LDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcm1p
c3Npb25TdGF0dXMuaCIKKworI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFBlcm1pc3Np
b25TdGF0dXMpOworCitSZWY8UGVybWlzc2lvblN0YXR1cz4gUGVybWlzc2lvblN0YXR1czo6Y3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFBlcm1pc3Npb25TdGF0ZSBzdGF0
ZSwgUGVybWlzc2lvbk5hbWUgbmFtZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJt
aXNzaW9uU3RhdHVzKGNvbnRleHQsIHN0YXRlLCBuYW1lKSk7Cit9CisKK1Blcm1pc3Npb25TdGF0
dXM6OlBlcm1pc3Npb25TdGF0dXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUGVy
bWlzc2lvblN0YXRlIHN0YXRlLCBQZXJtaXNzaW9uTmFtZSBuYW1lKQorICAgIDogQWN0aXZlRE9N
T2JqZWN0KCZjb250ZXh0KQorICAgICwgbV9zdGF0ZShzdGF0ZSkKKyAgICAsIG1fbmFtZShuYW1l
KQoreworfQorCitjb25zdCBjaGFyKiBQZXJtaXNzaW9uU3RhdHVzOjphY3RpdmVET01PYmplY3RO
YW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIlBlcm1pc3Npb25TdGF0dXMiOworfQorCit2b2lk
IFBlcm1pc3Npb25TdGF0dXM6OnN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbikKK3sKK30KKwor
dm9pZCBQZXJtaXNzaW9uU3RhdHVzOjpzdG9wKCkKK3sKK30KKworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25TdGF0dXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvblN0YXR1cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5NmU1YzEzYmEwZGNiODc3YTRkODA2NDAxY2Fj
OGQyNzZlNDJiMTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRl
ICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25OYW1lLmgiCisjaW5jbHVkZSAi
UGVybWlzc2lvblN0YXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3MgUGVybWlzc2lvblN0YXR1cyBmaW5hbCA6IHB1Ymxp
YyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBSZWZDb3VudGVkPFBlcm1pc3Npb25TdGF0dXM+LCBw
dWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSAgeworICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoUGVybWlzc2lvblN0YXR1cyk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJtaXNz
aW9uU3RhdHVzPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFBlcm1pc3Npb25TdGF0
ZSwgUGVybWlzc2lvbk5hbWUpOworCisgICAgUGVybWlzc2lvblN0YXRlIHN0YXRlKCkgY29uc3Qg
eyByZXR1cm4gbV9zdGF0ZTsgfQorICAgIFBlcm1pc3Npb25OYW1lIG5hbWUoKSBjb25zdCB7IHJl
dHVybiBtX25hbWU7IH0KKworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKKyAgICB1c2luZyBS
ZWZDb3VudGVkOjpkZXJlZjsKKworcHJpdmF0ZToKKyAgICBQZXJtaXNzaW9uU3RhdHVzKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBQZXJtaXNzaW9uU3RhdGUsIFBlcm1pc3Npb25OYW1lKTsKKwor
ICAgIC8vIEFjdGl2ZURPTU9iamVjdAorICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5h
bWUoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbikg
ZmluYWw7CisgICAgdm9pZCBzdG9wKCkgZmluYWw7CisKKyAgICAvLyBFdmVudFRhcmdldAorICAg
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBBY3RpdmVET01PYmplY3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsg
fQorICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gU3BlZWNoUmVjb2duaXRpb25FdmVudFRhcmdldEludGVyZmFjZVR5cGU7
IH0KKyAgICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyByZWYoKTsgfQorICAgIHZvaWQg
ZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQorCisgICAgUGVybWlzc2lvblN0
YXRlIG1fc3RhdGU7CisgICAgUGVybWlzc2lvbk5hbWUgbV9uYW1lOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGI3ODE0MmU2OTllMjBlNmJl
ODZjYzVjZTIwNTZkMWRlYjY5MmVkMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwKQEAgLTAsMCArMSwzNiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisgCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI3Bl
cm1pc3Npb25zdGF0dXMKKworWworICAgIEFjdGl2ZURPTU9iamVjdCwKKyAgICBFbmFibGVkQnlT
ZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpCitdIGlu
dGVyZmFjZSBQZXJtaXNzaW9uU3RhdHVzIDogRXZlbnRUYXJnZXQgeworICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBQZXJtaXNzaW9uU3RhdGUgc3RhdGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFBl
cm1pc3Npb25OYW1lIG5hbWU7CisgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmNoYW5nZTsK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bnMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQzMjg1ZmUxZTVlZDVjM2U3NzBlZWZiOTdkNTg1ZGUxNDg0NThh
YzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25zLmNwcApAQCAtMCwwICsxLDc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25zLmgiCisKKyNpbmNsdWRlICJFeGNlcHRp
b24uaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIkpTUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3IuaCIKKyNpbmNsdWRlICJQ
ZXJtaXNzaW9uRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFBl
cm1pc3Npb25zKTsKKworUmVmPFBlcm1pc3Npb25zPiBQZXJtaXNzaW9uczo6Y3JlYXRlKE5hdmln
YXRvciYgbmF2aWdhdG9yKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBlcm1pc3Npb25z
KG5hdmlnYXRvcikpOworfQorCitQZXJtaXNzaW9uczo6UGVybWlzc2lvbnMoTmF2aWdhdG9yJiBu
YXZpZ2F0b3IpCisgICAgOiBtX25hdmlnYXRvcihtYWtlV2Vha1B0cihuYXZpZ2F0b3IpKQorewor
fQorCitOYXZpZ2F0b3IqIFBlcm1pc3Npb25zOjpuYXZpZ2F0b3IoKQoreworICAgIHJldHVybiBt
X25hdmlnYXRvci5nZXQoKTsKK30KKwordm9pZCBQZXJtaXNzaW9uczo6cXVlcnkoSlNDOjpKU0ds
b2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiBwZXJt
aXNzaW9uRGVzY3JpcHRvclZhbHVlLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPFBl
cm1pc3Npb25TdGF0dXM+PiYmIHByb21pc2UpCit7CisgICAgSlNDOjpWTSYgdm0gPSBnbG9iYWxP
YmplY3Qudm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisK
KyAgICBpZiAoIXBlcm1pc3Npb25EZXNjcmlwdG9yVmFsdWUpIHsKKyAgICAgICAgcHJvbWlzZS5y
ZWplY3QoRXhjZXB0aW9uIHsgRGF0YUVycm9yLCAiVGhlIHBhcmFtZXRlciBpcyBpbnZhbGlkIl9z
IH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byBwYXJhbWV0ZXJEZXNjcmlw
dG9yID0gY29udmVydDxJRExEaWN0aW9uYXJ5PFBlcm1pc3Npb25EZXNjcmlwdG9yPj4oZ2xvYmFs
T2JqZWN0LCBwZXJtaXNzaW9uRGVzY3JpcHRvclZhbHVlLmdldCgpKTsKKyAgICBpZiAoVU5MSUtF
TFkoc2NvcGUuZXhjZXB0aW9uKCkpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlv
biB7IEV4aXN0aW5nRXhjZXB0aW9uRXJyb3IgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBVTlVTRURfUEFSQU0ocGFyYW1ldGVyRGVzY3JpcHRvcik7CisgICAgcHJvbWlzZS5yZWpl
Y3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsICJOb3QgaW1wbGVtZW50ZWQiX3MgfSk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTgyYzNjMzk1MTE1NTk0
ZDNjZWEyZTFhMDllNWU4NjJhZTQyNzFiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oCkBAIC0wLDAgKzEsNTggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIklETFR5cGVzLmgiCisjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nLmg+CisjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgor
I2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFjZSBKU0MgeworY2xhc3MgSlNPYmpl
Y3Q7Cit9IC8vIG5hbWVzcGFjZSBKU0MKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBO
YXZpZ2F0b3I7CitjbGFzcyBQZXJtaXNzaW9uU3RhdHVzOworCit0ZW1wbGF0ZTx0eXBlbmFtZSBJ
RExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKK2NsYXNzIFBlcm1pc3Npb25zIGZp
bmFsIDogcHVibGljIFJlZkNvdW50ZWQ8UGVybWlzc2lvbnM+IHsKKyAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKFBlcm1pc3Npb25zKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBlcm1pc3Np
b25zPiBjcmVhdGUoTmF2aWdhdG9yJik7CisKKyAgICBOYXZpZ2F0b3IqIG5hdmlnYXRvcigpOwor
ICAgIHZvaWQgcXVlcnkoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6U3Ryb25nPEpTQzo6SlNP
YmplY3Q+LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPFBlcm1pc3Npb25TdGF0dXM+
PiYmKTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBQZXJtaXNzaW9ucyhOYXZpZ2F0b3ImKTsK
KworICAgIFdlYWtQdHI8TmF2aWdhdG9yPiBtX25hdmlnYXRvcjsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJkMTNlN2M3OTg2MTJiNDIzNjM3N2ZmZWUzYzEx
ZDZjYzMyMTRiYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisv
LyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI3Blcm1pc3Npb25zLWludGVyZmFj
ZQorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKKyAgICBHZW5lcmF0
ZUlzUmVhY2hhYmxlPVJlYWNoYWJsZUZyb21OYXZpZ2F0b3IsCisgICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKQorXSBpbnRlcmZhY2UgUGVy
bWlzc2lvbnMgeworICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIFByb21pc2U8UGVybWlzc2lv
blN0YXR1cz4gcXVlcnkob2JqZWN0IHBlcm1pc3Npb25EZXNjKTsKK307CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cmlu
ZGV4IDAzZTEyYTdhNzg3MjMxZDZhODllYzM3NWFmYTVjNDdkYzE2ZjI5YzMuLjMxM2VlZThlZWNk
Y2VmYWQyY2RmNTEyYTQwZjZhNTQ2MjgyMTFhNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yMDMsNiAr
MjAzLDkgQEAgTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKIE1vZHVs
ZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKIE1vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVdGlsaXRpZXMuY3BwCiBNb2R1bGVzL3BheW1l
bnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5jcHAKK01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdh
dG9yUGVybWlzc2lvbnMuY3BwCitNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
Y3BwCitNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcAogTW9kdWxlcy9waWN0dXJl
aW5waWN0dXJlL0RvY3VtZW50UGljdHVyZUluUGljdHVyZS5jcHAKIE1vZHVsZXMvcGljdHVyZWlu
cGljdHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5jcHAKIE1vZHVsZXMvcGljdHVyZWlu
cGljdHVyZS9IVE1MVmlkZW9FbGVtZW50UGljdHVyZUluUGljdHVyZS5jcHAKQEAgLTMyNzEsNiAr
MzI3NCwxMSBAQCBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcAogSlNQZXJpb2RpY1dhdmUuY3BwCiBK
U1BlcmlvZGljV2F2ZUNvbnN0cmFpbnRzLmNwcAogSlNQZXJpb2RpY1dhdmVPcHRpb25zLmNwcAor
SlNQZXJtaXNzaW9uRGVzY3JpcHRvci5jcHAKK0pTUGVybWlzc2lvbk5hbWUuY3BwCitKU1Blcm1p
c3Npb25TdGF0ZS5jcHAKK0pTUGVybWlzc2lvblN0YXR1cy5jcHAKK0pTUGVybWlzc2lvbnMuY3Bw
CiBKU1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuY3BwCiBKU1BsYXliYWNrRGlyZWN0aW9uLmNwcAog
SlNQb2ludGVyRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzgzYjI1Y2NmYjJiZWYxMDg2YzIwNDQxOGVlNzZlMjVi
MTAxYWZiYi4uMjMzYjE3MDA1NWVkNWVkYjBlZDg4M2M4MDkyNTBlZTA4YTkzMWQ2OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
Mjg3Nyw2ICsyODc3LDEyIEBACiAJCTkzQTgwNjE3MUUwM0I1MUMwMDhBMUYyNiAvKiBMb25nUmFu
Z2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTgw
NjEzMUUwM0I1MUMwMDhBMUYyNiAvKiBMb25nUmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0E4MDYxRTFFMDNCNTg1MDA4QTFGMjYgLyog
SlNEb3VibGVSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNBODA2MUExRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCAqLzsgfTsK
IAkJOTNBODA2MjAxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9uZ1JhbmdlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4MDYxQzFFMDNCNTg1MDA4QTFG
MjYgLyogSlNMb25nUmFuZ2UuaCAqLzsgfTsKKwkJOTNCMEE2NTMyNkNERDE0MTAwQUEyMUU0IC8q
IE5hdmlnYXRvclBlcm1pc3Npb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5M0IwQTY0QTI2Q0REMTNFMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlz
c2lvbnMuaCAqLzsgfTsKKwkJOTNCMEE2NTQyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25z
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY0
QjI2Q0REMTNFMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCAqLzsgfTsKKwkJOTNCMEE2NTYyNkNE
RDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjREMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJt
aXNzaW9uU3RhdHVzLmggKi87IH07CisJCTkzQjBBNjU3MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJt
aXNzaW9uRGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTNCMEE2NEUyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9y
LmggKi87IH07CisJCTkzQjBBNjU5MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NTAy
NkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmggKi87IH07CisJCTkzQjBBNjVCMjZD
REQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjUyMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJt
aXNzaW9uU3RhdGUuaCAqLzsgfTsKIAkJOTNCMkQ4MTYwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRl
blRlcm1pbmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5M0IyRDgxNTBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0IzOEVDMzI1
ODIxREI0MDAxOThFNjMgLyogV2ViU3BlZWNoUmVjb2duaXplclRhc2suaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjM4RUJBMjU4MjE5M0IwMDE5OEU2
MyAvKiBXZWJTcGVlY2hSZWNvZ25pemVyVGFzay5oICovOyB9OwogCQk5M0IzOEVDNDI1ODIxREI3
MDAxOThFNjMgLyogV2ViU3BlZWNoUmVjb2duaXplclRhc2tNb2NrLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IzOEVCQjI1ODIxOTNEMDAxOThFNjMg
LyogV2ViU3BlZWNoUmVjb2duaXplclRhc2tNb2NrLmggKi87IH07CkBAIC0xMTY5NCw2ICsxMTcw
MCwyMSBAQAogCQk5M0E4MDYxQTFFMDNCNTg1MDA4QTFGMjYgLyogSlNEb3VibGVSYW5nZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RvdWJsZVJhbmdlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQTgwNjFCMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdS
YW5nZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0xvbmdSYW5n
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQTgwNjFDMUUwM0I1ODUwMDhB
MUYyNiAvKiBKU0xvbmdSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0xvbmdSYW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0NDI2Q0RD
NUI2MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBQZXJtaXNzaW9uU3RhdGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0Iw
QTY0NTI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDYyNkNEQzVCNzAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1l
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9uTmFtZS5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ3MjZDREM1QjcwMEFBMjFFNCAvKiBOYXZpZ2F0
b3IrUGVybWlzc2lvbnMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJOYXZpZ2F0b3IrUGVy
bWlzc2lvbnMuaWRsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDgyNkNE
QzVCNzAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQ
ZXJtaXNzaW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ5MjZD
REM1QjgwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBQZXJtaXNzaW9uU3RhdHVzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTNCMEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRvclBlcm1pc3Npb25zLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRCMjZDREQxM0UwMEFBMjFFNCAvKiBQZXJt
aXNzaW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9ucy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0QzI2Q0REMTNFMDBBQTIxRTQg
LyogTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk5M0IwQTY0RDI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uU3RhdHVzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJt
aXNzaW9uRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJt
aXNzaW9uRGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0
RjI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJtaXNzaW9uU3RhdHVzLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NTAyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25O
YW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25OYW1lLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjUxMjZDREQxNDAwMEFBMjFFNCAv
KiBQZXJtaXNzaW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQ
ZXJtaXNzaW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjUyMjZD
REQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUGVybWlzc2lvblN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTkzQjJEODE1MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdWRkZW5UZXJtaW5hdGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IyRDgxNzBGOTkyMEVFMDA2QUU2QjIgLyogU3VkZGVu
VGVybWluYXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBT
dWRkZW5UZXJtaW5hdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMzhF
QjgyNTgyMTg5OTAwMTk4RTYzIC8qIFNwZWVjaFJlY29nbml6ZXJDb2NvYS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNwZWVjaFJlY29nbml6ZXJDb2NvYS5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIzMTc1LDYgKzIzMTk2LDI4IEBACiAJCQlw
YXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJOTNCMEE2NDIy
NkNEQzU3NDAwQUEyMUU0IC8qIHBlcm1pc3Npb25zICovID0geworCQkJaXNhID0gUEJYR3JvdXA7
CisJCQljaGlsZHJlbiA9ICgKKwkJCQk5M0IwQTY0NzI2Q0RDNUI3MDBBQTIxRTQgLyogTmF2aWdh
dG9yK1Blcm1pc3Npb25zLmlkbCAqLywKKwkJCQk5M0IwQTY0QzI2Q0REMTNFMDBBQTIxRTQgLyog
TmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwICovLAorCQkJCTkzQjBBNjRBMjZDREQxM0UwMEFBMjFF
NCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oICovLAorCQkJCTkzQjBBNjRFMjZDREQxM0YwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oICovLAorCQkJCTkzQjBBNjQ1MjZDREM1QjYw
MEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwgKi8sCisJCQkJOTNCMEE2NTAyNkNE
RDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmggKi8sCisJCQkJOTNCMEE2NDYyNkNEQzVC
NzAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmlkbCAqLywKKwkJCQk5M0IwQTY1MTI2Q0REMTQw
MDBBQTIxRTQgLyogUGVybWlzc2lvbnMuY3BwICovLAorCQkJCTkzQjBBNjRCMjZDREQxM0UwMEFB
MjFFNCAvKiBQZXJtaXNzaW9ucy5oICovLAorCQkJCTkzQjBBNjQ4MjZDREM1QjcwMEFBMjFFNCAv
KiBQZXJtaXNzaW9ucy5pZGwgKi8sCisJCQkJOTNCMEE2NTIyNkNERDE0MTAwQUEyMUU0IC8qIFBl
cm1pc3Npb25TdGF0ZS5oICovLAorCQkJCTkzQjBBNjQ0MjZDREM1QjYwMEFBMjFFNCAvKiBQZXJt
aXNzaW9uU3RhdGUuaWRsICovLAorCQkJCTkzQjBBNjRGMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJt
aXNzaW9uU3RhdHVzLmNwcCAqLywKKwkJCQk5M0IwQTY0RDI2Q0REMTNGMDBBQTIxRTQgLyogUGVy
bWlzc2lvblN0YXR1cy5oICovLAorCQkJCTkzQjBBNjQ5MjZDREM1QjgwMEFBMjFFNCAvKiBQZXJt
aXNzaW9uU3RhdHVzLmlkbCAqLywKKwkJCSk7CisJCQlwYXRoID0gcGVybWlzc2lvbnM7CisJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk5M0IzOEVCNjI1ODIxODMzMDAxOThFNjMg
LyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAt
MjM3ODAsNiArMjM4MjMsNyBAQAogCQkJCTcxRDZBQTM5MURBNEVBRjcwMEIyMzk2OSAvKiBtb2Rl
cm4tbWVkaWEtY29udHJvbHMgKi8sCiAJCQkJMzMzRjcwM0QwRkI0OUMxNjAwOEUxMkE2IC8qIG5v
dGlmaWNhdGlvbnMgKi8sCiAJCQkJQTFGNzZCMEUxRjQ0QzBDRjAwMTRDMzE4IC8qIHBheW1lbnRy
ZXF1ZXN0ICovLAorCQkJCTkzQjBBNjQyMjZDREM1NzQwMEFBMjFFNCAvKiBwZXJtaXNzaW9ucyAq
LywKIAkJCQkxREVGMDZBMjIzM0MzMkRCMDBFRTIyOEQgLyogcGljdHVyZWlucGljdHVyZSAqLywK
IAkJCQkwNzJBRTFERTE4M0MwNTEzMDAwQTU5ODggLyogcGx1Z2lucyAqLywKIAkJCQlDREMzMTJF
MDIyRkNEMEIwMDAxMjA0RUMgLyogcmVtb3RlcGxheWJhY2sgKi8sCkBAIC0zMzUyMiw3ICszMzU2
Niw2IEBACiAJCQkJN0FFNkM5M0MxQkUwQzYwMTAwRTE5RTAzIC8qIE1haW5UaHJlYWRTaGFyZWRU
aW1lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ1MUM2MzIyMzk0MDMxQTAwOTkzMTkwIC8qIE1h
cmdpblR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTE4NjY0NTFGNzJFNUI0MDBBMENBQjYg
LyogTWFya2VkVGV4dC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTQ0MEZENTMyNUE0QUZERjAwRjdD
ODQ5IC8qIFN0eWxlZE1hcmtlZFRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5REY4MDk5
RTY0OTIwMDU2RTU4MSAvKiBtYXJrdXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3MjhDMzE0MTI2
OEU0MzkwMDQxRTg5QiAvKiBNYXJrdXBBY2N1bXVsYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MDBDNjBFM0YxM0Q3NkQ3RTAwOTJBMjc1IC8qIE1hcmt1cFRva2VuaXplcklubGluZXMuaCBpbiBI
ZWFkZXJzICovLApAQCAtMzM3NDUsNiArMzM3ODgsNyBAQAogCQkJCTZCNTA3QTI0MjM0QkYzNDEw
MEJFN0M2MiAvKiBOYXZpZ2F0b3JJc0xvZ2dlZEluLmggaW4gSGVhZGVycyAqLywKIAkJCQk1RUE3
MjVENjFBQ0FCRDU3MDBFQUQxN0IgLyogTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwNzdCQTU3MjI2MEZBMDE0MDA3MkYxOUYgLyogTmF2aWdhdG9yTWVkaWFTZXNz
aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1MzI2Q0REMTQxMDBBQTIxRTQgLyogTmF2
aWdhdG9yUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk5NkU1OURGMURGMDEyOEQw
MDY2MTJCOSAvKiBOYXZpZ2F0b3JXZWJEcml2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUU4
Qjc4MjQxMzE5MUYwMEU3OTRENiAvKiBOYXZpZ2F0b3JXZWJYUi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOEEzMDlDOUYxMjM5NTBCRTAwQ0I5MjA0IC8qIE5lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgg
aW4gSGVhZGVycyAqLywKQEAgLTMzOTQ0LDYgKzMzOTg4LDExIEBACiAJCQkJRkQ1ODFGQjUxNTIw
RjkzQjAwM0E3QTc1IC8qIFBlcmlvZGljV2F2ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTc1NUU4
OTIyNEM3NDM0QjAwOUY3QzIzIC8qIFBlcmlvZGljV2F2ZUNvbnN0cmFpbnRzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFNzU1RTg5OTI0Qzc0NjFEMDA5RjdDMjMgLyogUGVyaW9kaWNXYXZlT3B0aW9u
cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTcyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1p
c3Npb25EZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1OTI2Q0REMTQxMDBB
QTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjU0MjZD
REQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2
NUIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJOTNCMEE2NTYyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQ5RDVEQzJFMEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2ZVRyYW5z
Zm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMURCQzFCNTYyMzQ3QjNEMjAwQjkw
MUFGIC8qIFBpY3R1cmVJblBpY3R1cmVPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUQy
QzgyQjcyMzZBM0Y2QTAwNTVENkM1IC8qIFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0LmggaW4gSGVh
ZGVycyAqLywKQEAgLTM0Njk0LDYgKzM0NzQzLDcgQEAKIAkJCQlCQzc3OUUxNzFCQjIyN0NBMDBD
QUE4QkYgLyogU3R5bGVDdXN0b21Qcm9wZXJ0eURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
QzRBN0ZEMDlENTYzMjcwMDAzQUM4RCAvKiBTdHlsZWRFbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzVFQjhCOTBFODIwMUJEMDBCMjU5NjUgLyogU3R5bGVEZXByZWNhdGVkRmxleGlibGVC
b3hEYXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQlFNDQwRkQ1MzI1QTRBRkRGMDBGN0M4NDkgLyog
U3R5bGVkTWFya2VkVGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE5QUUwNjQxNDJENkIyNDAw
NjU2M0ExIC8qIFN0eWxlRmlsdGVyRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTMxNzYxMjMx
M0M1MTY2OTAwMjZFNDU0IC8qIFN0eWxlRmxleGlibGVCb3hEYXRhLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFNEQ1OEVCOTE3QjRFRDg5MDBDQkRDQTggLyogU3R5bGVGb250U2l6ZUZ1bmN0aW9ucy5o
IGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
ZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmgKaW5kZXggZjE4MWM3OTZkNjUwY2M4NmZlM2YwOGE3MjAwN2E2ZWRjMmVm
YmM3OC4uODUxYTIxNGM5YTQ4N2ZmNjhkMTZiZTdkZDhmYmI1MjA4ODdlYjkxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMTU0
LDYgKzE1NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhNb2NrUlRDUnRwVHJh
bnNmb3JtKSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yQ3JlZGVudGlhbHMpIFwKICAgICBtYWNybyhO
YXZpZ2F0b3JNZWRpYURldmljZXMpIFwKKyAgICBtYWNybyhOYXZpZ2F0b3JQZXJtaXNzaW9ucykg
XAogICAgIG1hY3JvKE5hdmlnYXRvclVzZXJNZWRpYSkgXAogICAgIG1hY3JvKE9mZmxpbmVBdWRp
b0NvbnRleHQpIFwKICAgICBtYWNybyhPZmZzY3JlZW5DYW52YXMpIFwKQEAgLTE4Miw2ICsxODMs
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWlu
ZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQ
ZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAorICAgIG1hY3JvKFBlcm1pc3Npb25EZXNjcmlwdG9y
KSBcCisgICAgbWFjcm8oUGVybWlzc2lvblN0YXR1cykgXAorICAgIG1hY3JvKFBlcm1pc3Npb25z
KSBcCiAgICAgbWFjcm8oUG9pbnRlckV2ZW50KSBcCiAgICAgbWFjcm8oUHVibGljS2V5Q3JlZGVu
dGlhbCkgXAogICAgIG1hY3JvKFJlc2l6ZU9ic2VydmVyKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCA1ZTU4ZjExMTY2N2VmNjIxMGQ1MzExMGQ3YjU0YTgw
MmM4NDM5NWQ4Li4wMTNjZWQwOTQ2ZmZjZDUyNTlmYTI1MGIxNjAzYTE4ZTQ1OWU0NTk5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTM1LDYgKzM1LDcgQEAg
T2Zmc2NyZWVuQ2FudmFzIGNvbmRpdGlvbmFsPU9GRlNDUkVFTl9DQU5WQVMKIFBheW1lbnRSZXF1
ZXN0IGNvbmRpdGlvbmFsPVBBWU1FTlRfUkVRVUVTVAogUGF5bWVudFJlc3BvbnNlIGNvbmRpdGlv
bmFsPVBBWU1FTlRfUkVRVUVTVAogUGVyZm9ybWFuY2UKK1Blcm1pc3Npb25TdGF0dXMKIFBpY3R1
cmVJblBpY3R1cmVXaW5kb3cgY29uZGl0aW9uYWw9UElDVFVSRV9JTl9QSUNUVVJFX0FQSQogUmVt
b3RlUGxheWJhY2sgY29uZGl0aW9uYWw9V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUCiBSVENEYXRh
Q2hhbm5lbCBjb25kaXRpb25hbD1XRUJfUlRDCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436534</attachid>
            <date>2021-08-26 11:22:53 -0700</date>
            <delta_ts>2021-08-26 12:25:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210826112250.patch</filename>
            <type>text/plain</type>
            <size>122265</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLjAwYTQ0NjI0ZDI5YWZhNmM4YmNjZTcxM2MyZWU4N2U5Zjc5NTk4
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIxLTA4LTI1
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92
ZSBzb21lIGlPUy1zcGVjaWZpYyBjb21waWxlLXRpbWUgZ3VhcmRzIHRoYXQgYXJlIG5vIGxvbmdl
ciBuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYTkzNTJkZDhlZjlkY2Q5NWZiZDY3MTJiNTRlYjRlZWZm
ZWQyNWMyLi5kODI4YTAwNWQ2NDhiMDgxOWJhMGI5OTdiY2FhMGY1N2I5MjkyNzVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNjkgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiaW5kaW5ncyBj
b2RlIGFuZCBhIGZlYXR1cmUgZmxhZyBmb3IgUGVybWlzc2lvbnMgQVBJLgorICAgICAgICBTcGVj
OiBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLiBSZWJhc2VsaW5lIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9kdWxlcy9w
ZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAg
ICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6b3BlcmF0b3I9
PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yOjpkZWNvZGUp
OgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmg6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZl
ci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OlBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6flBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6c3RhdGVDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUg
Y29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uczo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpQZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJtaXNzaW9uczo6bmF2aWdhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25z
OjpxdWVyeSk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbDogQWRk
ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIGRv
bS9UYXNrU291cmNlLmg6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMpOgorICAgICAg
ICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX3Blcm1pc3Npb25Db250cm9s
bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnBlcm1pc3Npb25Db250cm9sbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Om1faHR0cHNVcGdyYWRlRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
ICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24pOgor
ICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKKwogMjAyMS0wOC0yNSAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGlu
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggNDI0MWIyZTZmYTc4NTRmMTVmZDMzYzZjYTljN2ZlYjM3YmMxZGIyMS4uMDM2Yzkz
YjFjMmI5YzE0NzkwZTI1OTVmM2IyOGVmZWVlODRmNGMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MyBAQAorMjAyMS0wOC0yNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2V0IHVwIGJhc2ljIGluZnJhc3RyY3R1cmUgb2Yg
cGVybWlzc2lvbiBnZXR0aW5nIGFuZCBzZXR0aW5nLgorCisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBl
cm1pc3Npb25Db250cm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRy
b2xsZXI6OnF1ZXJ5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6
OnJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVl
cnlDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRh
dGVDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQ
cm9jZXNzaW5nUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjphZGRPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjpyZW1vdmVPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250
cm9sbGVyOjpwZXJtaXNzaW9uQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fYXBwSGlnaGxp
Z2h0c1Zpc2libGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFjLmg6CisKIDIwMjEtMDgtMjYgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25v
cmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW2N1cmxdIFJFR1JFU1NJT04ocjI4MTE1OCk6
IGZldGNoKCdodHRwOi8vbG9jYWxob3N0LycpIGZyb20gYWJvdXQ6YmxhbmsgZG9lc24ndCBlbWl0
IHRoZSBjb25zb2xlIGVycm9yIG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRl
eCA0NWE1NDg2ZTA1ODA1ZDk3YmMxZTQ4YjQ0ZjkzZGEzMDMyOGE2YTFkLi5mZjc3YjQ5NWE4MmVj
OTI4MzQ5MTU4NGQ2MWFkZDJkZjA5NDg5NzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5h
bWU6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IGluaXRTaW1wbGVIVE1MRG9jdW1l
bnRXaXRoU3R5bGU6ZnJhbWU6cHJlZmVyZW5jZXM6Z3JvdXBOYW1lOl0pOgorCiAyMDIxLTA4LTI0
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gSW1wbGVt
ZW50IHByb2Nlc3Mtc3dhcHBpbmcgYmFzZWQgb24gQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xpY3kg
SFRUUCBoZWFkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9X
ZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZl
cmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXggMTg1YTVhYzBmNDU0
Yzc2YzAzNDc5MmFkMTg1NzYxZmNjYTY5NDk5MS4uNTU1NDYwMGRiYzY2NThmYTFjYWIyZDA1OGNk
NTM1ZGFmNTI5MzFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2Vz
L1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKQEAgLTg4MSw2ICs4
ODEsMTggQEAgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ1NlbnNpdGl2ZVByb3BlcnRpZXNFbmFi
bGVkOgogICAgIFdlYkNvcmU6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogCitQZXJtaXNzaW9uc0FQ
SUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJQZXJtaXNzaW9u
cyBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQZXJtaXNzaW9ucyBB
UEkiCisgIGRlZmF1bHRWYWx1ZToKKyAgICBXZWJLaXRMZWdhY3k6CisgICAgICBkZWZhdWx0OiBm
YWxzZQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViQ29yZToKKyAg
ICAgIGRlZmF1bHQ6IGZhbHNlCisKIFByaXZhdGVDbGlja01lYXN1cmVtZW50RGVidWdNb2RlRW5h
YmxlZDoKICAgdHlwZTogYm9vbAogICBodW1hblJlYWRhYmxlTmFtZTogIlByaXZhdGUgQ2xpY2sg
TWVhc3VyZW1lbnQgRGVidWcgTW9kZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYmJiODQyYTUz
OWExMDg3YzllMWRiNDYzZDAxOWRkMmIxMjMxNDJjOS4uMTc0Y2QxYmQwM2U4N2M3YzI2ZmVlNTEz
NmE4ZWEzMjUwMzg1OTlkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ2MCw2ICs0NjAsMTMg
QEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L1BheW1lbnRTaGlwcGluZ1R5cGUuaWRsCiAgICAgTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50VmFsaWRhdGlvbkVycm9ycy5pZGwKIAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2
aWdhdG9yK1Blcm1pc3Npb25zLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bkRlc2NyaXB0b3IuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5p
ZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwKKyAgICBNb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9ucy5pZGwKKwogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1
bWVudCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9E
b2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGlj
dHVyZWlucGljdHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDM5YjJiMzAwNGU0
YzU3OTQzN2U2NWFjYTk3MzI3Yzc4ZDRkNzQ1ZGUuLjUxMWI1MTMxMjAwYWJlYzgzYmU0OTA3YTdi
ZTQxOTIzYTYyZjM2OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdApAQCAtMzg4LDYgKzM4OCwxMiBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdUeXBlLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVycm9ycy5p
ZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Np
b25zLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVz
Y3JpcHRvci5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bk5hbWUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25T
dGF0ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMu
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGlj
dHVyZUluUGljdHVyZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVy
ZS9Eb2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50Lmlk
bApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApp
bmRleCAxOTY3MWY3NTA2ZDZhNzkzNzRjNWVhNDVhYzc3MWZjN2YxYjc5NTJiLi45YjQ4NGFiYTQ4
YzJjNWNmYzYwYWNlZWVjMjkzZWJjYTljMzk3MWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTM3Nyw2ICsxMzc3LDggQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVk
aWFEZXZpY2VzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOYXZpZ2F0b3IrTWVkaWFEZXZpY2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vzc2lvbi5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vz
c2lvbi5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05h
dmlnYXRvcitQZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1Blcm1pc3Npb25zLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dlYkRyaXZlci5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dl
YkRyaXZlci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U05hdmlnYXRvcitXZWJYUi5jcHAKQEAgLTE1ODMsNiArMTU4NSwxNiBAQCAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZUNvbnN0cmFpbnRz
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJp
b2RpY1dhdmVDb25zdHJhaW50cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uRGVzY3Jp
cHRvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UGVybWlzc2lvbkRlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uTmFtZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbk5hbWUuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdGUuY3BwCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0
ZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1p
c3Npb25TdGF0dXMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1Blcm1pc3Npb25TdGF0dXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbnMuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5Q
aWN0dXJlV2luZG93LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUGxheWJhY2tEaXJlY3Rpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCBkNjRlNjVlODZlNWUxMTQyNjY3YTllMzgyNzY4M2E5NjkyZjI3YWYxLi5mOWVlNjQyOGJh
MGE1NGQ1NGMwMjU3YWE2ZDZhMDAwMWUyZTQyMWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKQEAgLTMyNCw2ICszMjQsMTIgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ1R5
cGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFZh
bGlkYXRpb25FcnJvcnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMv
TmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGljdHVyZUluUGljdHVyZS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50K1Bp
Y3R1cmVJblBpY3R1cmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlucGlj
dHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5k
ZXggZWIwN2I4MGM5OTMzZDY5YThjMzYzMTkxOGM3NWRiZTRlMzdhOTJiOC4uYWM5MjczN2YxZTZm
OTc1MWM3N2VlZWNjYzU4MjcwNzA4OGY0MjdkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
SGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMjks
NiArMTI5LDEwIEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBN
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbi5oCiAgICAgTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oCiAKKyAgICBN
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCisgICAgTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdHVzLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Np
b25zLmgKKwogICAgIE1vZHVsZXMvcGx1Z2lucy9QbHVnaW5SZXBsYWNlbWVudC5oCiAgICAgTW9k
dWxlcy9wbHVnaW5zL1lvdVR1YmVQbHVnaW5SZXBsYWNlbWVudC5oCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Np
b25zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42MGIxMjdlN2YzYTFjNTY2NmNkMGQwYzg4ZmU5MTFlOTZjODM0
ZjY1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI25hdmlnYXRvci1hbmQtd29y
a2VybmF2aWdhdG9yLWV4dGVuc2lvbgorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNz
aW9uc0FQSSwKKyAgICBJbXBsZW1lbnRlZEJ5PU5hdmlnYXRvclBlcm1pc3Npb25zCitdIHBhcnRp
YWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7CisgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBQZXJtaXNzaW9ucyBwZXJtaXNzaW9uczsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjM5MWY1NTU4ODZkOGU3MWEzNDllZTc1YmYzYzQxNmYwMmYxYzQ3YWIKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRv
clBlcm1pc3Npb25zLmNwcApAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIk5hdmlnYXRvclBlcm1pc3Npb25zLmgiCisKKyNpbmNsdWRl
ICJOYXZpZ2F0b3IuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9ucy5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK05hdmlnYXRvclBlcm1pc3Npb25zOjpOYXZpZ2F0b3JQZXJtaXNzaW9ucyhOYXZp
Z2F0b3ImIG5hdmlnYXRvcikKKyAgICA6IG1fbmF2aWdhdG9yKG5hdmlnYXRvcikKK3sKK30KKwor
UmVmUHRyPFBlcm1pc3Npb25zPiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6cGVybWlzc2lvbnMoTmF2
aWdhdG9yJiBuYXZpZ2F0b3IpCit7CisgICAgcmV0dXJuIE5hdmlnYXRvclBlcm1pc3Npb25zOjpm
cm9tKG5hdmlnYXRvciktPnBlcm1pc3Npb25zKCk7Cit9CisKK1JlZlB0cjxQZXJtaXNzaW9ucz4g
TmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKCkKK3sKKyAgICBpZiAoIW1fcGVybWlz
c2lvbnMpCisgICAgICAgIG1fcGVybWlzc2lvbnMgPSBQZXJtaXNzaW9uczo6Y3JlYXRlKG1fbmF2
aWdhdG9yKTsKKworICAgIHJldHVybiBtX3Blcm1pc3Npb25zOworfQorCitOYXZpZ2F0b3JQZXJt
aXNzaW9ucyogTmF2aWdhdG9yUGVybWlzc2lvbnM6OmZyb20oTmF2aWdhdG9yJiBuYXZpZ2F0b3Ip
Cit7CisgICAgYXV0byogc3VwcGxlbWVudCA9IHN0YXRpY19jYXN0PE5hdmlnYXRvclBlcm1pc3Np
b25zKj4oU3VwcGxlbWVudDxOYXZpZ2F0b3I+Ojpmcm9tKCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnRO
YW1lKCkpKTsKKyAgICBpZiAoIXN1cHBsZW1lbnQpIHsKKyAgICAgICAgYXV0byBuZXdTdXBwbGVt
ZW50ID0gbWFrZVVuaXF1ZTxOYXZpZ2F0b3JQZXJtaXNzaW9ucz4obmF2aWdhdG9yKTsKKyAgICAg
ICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7CisgICAgICAgIHByb3ZpZGVUbygm
bmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpLCBXVEZNb3ZlKG5ld1N1cHBsZW1lbnQpKTsKKyAg
ICB9CisKKyAgICByZXR1cm4gc3VwcGxlbWVudDsKK30KKworY29uc3QgY2hhciogTmF2aWdhdG9y
UGVybWlzc2lvbnM6OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAgICByZXR1cm4gIk5hdmlnYXRvclBl
cm1pc3Npb25zIjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjcwYTczOWRhNzE0NDBjN2EzM2IyMzJjYWU5ODM1MjAxOWZkYTQ0NGMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmln
YXRvclBlcm1pc3Npb25zLmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBOYXZpZ2F0b3I7CitjbGFzcyBQZXJtaXNzaW9uczsKKworY2xhc3MgTmF2aWdh
dG9yUGVybWlzc2lvbnMgZmluYWwgOiBwdWJsaWMgU3VwcGxlbWVudDxOYXZpZ2F0b3I+IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBOYXZpZ2F0
b3JQZXJtaXNzaW9ucyhOYXZpZ2F0b3ImKTsKKworICAgIHN0YXRpYyBSZWZQdHI8UGVybWlzc2lv
bnM+IHBlcm1pc3Npb25zKE5hdmlnYXRvciYpOworICAgIFJlZlB0cjxQZXJtaXNzaW9ucz4gcGVy
bWlzc2lvbnMoKTsKKworcHJpdmF0ZToKKyAgICBzdGF0aWMgTmF2aWdhdG9yUGVybWlzc2lvbnMq
IGZyb20oTmF2aWdhdG9yJik7CisgICAgc3RhdGljIGNvbnN0IGNoYXIqIHN1cHBsZW1lbnROYW1l
KCk7CisKKyAgICBSZWZQdHI8UGVybWlzc2lvbnM+IG1fcGVybWlzc2lvbnM7CisgICAgTmF2aWdh
dG9yJiBtX25hdmlnYXRvcjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
ODJlMTNiODFiNWVkNDViNWQ0ZTIzMTcwNzlhMzM5NjNiNGZmM2Q1Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uQ29udHJvbGxl
ci5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgIlBlcm1pc3Npb25PYnNlcnZlci5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25TdGF0ZS5oIgor
I2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIFBlcm1pc3Npb25PYnNlcnZlcjsKK3N0cnVjdCBQZXJtaXNzaW9uRGVzY3JpcHRv
cjsKKworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXIgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8
UGVybWlzc2lvbkNvbnRyb2xsZXI+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1
YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJtaXNzaW9uQ29udHJvbGxlcigpID0gZGVmYXVsdDsKKyAg
ICB2aXJ0dWFsIFBlcm1pc3Npb25TdGF0ZSBxdWVyeShDbGllbnRPcmlnaW4mJiwgUGVybWlzc2lv
bkRlc2NyaXB0b3ImJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0KENsaWVudE9yaWdp
biYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFBlcm1p
c3Npb25TdGF0ZSk+JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkT2JzZXJ2ZXIoUGVybWlz
c2lvbk9ic2VydmVyJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZW1vdmVPYnNlcnZlcihQZXJt
aXNzaW9uT2JzZXJ2ZXImKSA9IDA7Cit9OworCitjbGFzcyBEdW1teVBlcm1pc3Npb25Db250cm9s
bGVyIDogcHVibGljIFBlcm1pc3Npb25Db250cm9sbGVyIHsKKyAgICBQZXJtaXNzaW9uU3RhdGUg
cXVlcnkoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlwdG9yJiYpIGZpbmFsIHsgcmV0
dXJuIFBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkOyB9CisgICAgdm9pZCByZXF1ZXN0KENsaWVudE9y
aWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFBl
cm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpIGZpbmFsIHsgY29tcGxldGlvbkhh
bmRsZXIoUGVybWlzc2lvblN0YXRlOjpEZW5pZWQpOyB9CisgICAgdm9pZCBhZGRPYnNlcnZlcihQ
ZXJtaXNzaW9uT2JzZXJ2ZXImKSBmaW5hbCB7IH0KKyAgICB2b2lkIHJlbW92ZU9ic2VydmVyKFBl
cm1pc3Npb25PYnNlcnZlciYpIGZpbmFsIHsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uRGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlODRiMmQ0Yzc3YTk4ZTk1YjY2NDk4ZGM0
ZDBiMzhhOTA4OWUxZTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKQEAgLTAsMCArMSw1NCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVybWlzc2lvbk5hbWUuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3IgeworICAg
IFBlcm1pc3Npb25OYW1lIG5hbWU7CisKKyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgUGVybWlz
c2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IpIGNvbnN0IHsgcmV0dXJuIG5hbWUgPT0gZGVzY3Jp
cHRvci5uYW1lOyB9CisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5j
b2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9w
dGlvbmFsPFBlcm1pc3Npb25EZXNjcmlwdG9yPiBkZWNvZGUoRGVjb2RlciYpOworfTsKKwordGVt
cGxhdGU8Y2xhc3MgRW5jb2Rlcj4gaW5saW5lIHZvaWQgUGVybWlzc2lvbkRlc2NyaXB0b3I6OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgbmFtZTsKK30K
KwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RkOjpvcHRpb25hbDxQZXJtaXNzaW9uRGVzY3Jp
cHRvcj4gUGVybWlzc2lvbkRlc2NyaXB0b3I6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQorewor
ICAgIFBlcm1pc3Npb25EZXNjcmlwdG9yIHJlc3VsdDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KHJlc3VsdC5uYW1lKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHJldHVy
biByZXN1bHQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNGYzNmEzMmEyY2NjZDMzOTkzOWI3ZGU4MzVkZmVkYmJmNGY1N2NjOAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBo
dHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2RpY3RkZWYtcGVybWlzc2lvbmRlc2Ny
aXB0b3IKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCitdIGRpY3Rp
b25hcnkgUGVybWlzc2lvbkRlc2NyaXB0b3IgeworICAgIHJlcXVpcmVkIFBlcm1pc3Npb25OYW1l
IG5hbWU7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uTmFtZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uTmFtZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjOTkzMWZkODQzOGQzNDMwMTZmMTFkMmVlNGM1
NzM5M2RhZDhlMTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmgKQEAgLTAsMCArMSw3OSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgUGVybWlz
c2lvbk5hbWUgOiB1aW50OF90IHsKKyAgICBBY2NlbGVyb21ldGVyLAorICAgIEFtYmllbnRMaWdo
dFNlbnNvciwKKyAgICBCYWNrZ3JvdW5kRmV0Y2gsCisgICAgQmFja2dyb3VuZFN5bmMsCisgICAg
Qmx1ZXRvb3RoLAorICAgIENhbWVyYSwKKyAgICBEaXNwbGF5Q2FwdHVyZSwKKyAgICBHZW9sb2Nh
dGlvbiwKKyAgICBHeXJvc2NvcGUsCisgICAgTWFnbmV0b21ldGVyLAorICAgIE1pY3JvcGhvbmUs
CisgICAgTWlkaSwKKyAgICBOZmMsCisgICAgTm90aWZpY2F0aW9ucywKKyAgICBQZXJzaXN0ZW50
U3RvcmFnZSwKKyAgICBQdXNoLAorICAgIFNjcmVlbldha2VMb2NrLAorICAgIFNwZWFrZXJTZWxl
Y3Rpb24KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisK
K3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6UGVybWlzc2lvbk5hbWU+IHsK
KyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNz
aW9uTmFtZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6OkFjY2VsZXJvbWV0ZXIs
CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpBbWJpZW50TGlnaHRTZW5zb3IsCisg
ICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpCYWNrZ3JvdW5kRmV0Y2gsCisgICAgICAg
IFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpCYWNrZ3JvdW5kU3luYywKKyAgICAgICAgV2ViQ29y
ZTo6UGVybWlzc2lvbk5hbWU6OkJsdWV0b290aCwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lv
bk5hbWU6OkNhbWVyYSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6OkRpc3BsYXlD
YXB0dXJlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6R2VvbG9jYXRpb24sCisg
ICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpHeXJvc2NvcGUsCisgICAgICAgIFdlYkNv
cmU6OlBlcm1pc3Npb25OYW1lOjpNYWduZXRvbWV0ZXIsCisgICAgICAgIFdlYkNvcmU6OlBlcm1p
c3Npb25OYW1lOjpNaWNyb3Bob25lLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6
TWlkaSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok5mYywKKyAgICAgICAgV2Vi
Q29yZTo6UGVybWlzc2lvbk5hbWU6Ok5vdGlmaWNhdGlvbnMsCisgICAgICAgIFdlYkNvcmU6OlBl
cm1pc3Npb25OYW1lOjpQZXJzaXN0ZW50U3RvcmFnZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlz
c2lvbk5hbWU6OlB1c2gsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpTY3JlZW5X
YWtlTG9jaywKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6OlNwZWFrZXJTZWxlY3Rp
b24KKyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQzYWNkZjI4YzY0MjExMGViNjEwZmU5ZTk4N2I2YmU2N2RkZGE2MjEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlk
bApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L3Blcm1pc3Npb25zLyNlbnVtZGVmLXBlcm1pc3Npb25uYW1lCisKK1sKKyAgICBFbmFibGVkQnlT
ZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBlbnVtIFBlcm1pc3Npb25OYW1lIHsKKyAgICAiYWNj
ZWxlcm9tZXRlciIsCisgICAgImFtYmllbnQtbGlnaHQtc2Vuc29yIiwKKyAgICAiYmFja2dyb3Vu
ZC1mZXRjaCIsCisgICAgImJhY2tncm91bmQtc3luYyIsCisgICAgImJsdWV0b290aCIsCisgICAg
ImNhbWVyYSIsCisgICAgImRpc3BsYXktY2FwdHVyZSIsCisgICAgImdlb2xvY2F0aW9uIiwKKyAg
ICAiZ3lyb3Njb3BlIiwKKyAgICAibWFnbmV0b21ldGVyIiwKKyAgICAibWljcm9waG9uZSIsCisg
ICAgIm1pZGkiLAorICAgICJuZmMiLAorICAgICJub3RpZmljYXRpb25zIiwKKyAgICAicGVyc2lz
dGVudC1zdG9yYWdlIiwKKyAgICAicHVzaCIsCisgICAgInNjcmVlbi13YWtlLWxvY2siLAorICAg
ICJzcGVha2VyLXNlbGVjdGlvbiIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uT2JzZXJ2ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MTdhNDFh
OWIzYzg5ZmEyYjhlMmJmOWRjYWU5YzZiYzY0ZTZmZjZlCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uT2JzZXJ2ZXIuaApAQCAt
MCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDbGll
bnRPcmlnaW4uaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdGUuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7CisKK2NsYXNzIFBlcm1pc3Np
b25PYnNlcnZlciA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQZXJtaXNzaW9uT2JzZXJ2ZXI+IHsK
K3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJtaXNzaW9uT2JzZXJ2ZXIoKSA9IGRlZmF1bHQ7CisK
KyAgICB2aXJ0dWFsIHZvaWQgc3RhdGVDaGFuZ2VkKFBlcm1pc3Npb25TdGF0ZSkgPSAwOworICAg
IHZpcnR1YWwgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4oKSA9IDA7CisgICAgdmlydHVhbCBj
b25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpID0gMDsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjYWRmNTIwMWUwYzM3YjMwZjRi
NzJlYTA4MDQwODU4NGI4ODg0ODQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCkBAIC0wLDAgKzEsNTEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRzLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBQZXJtaXNzaW9uU3RhdGUgOiB1aW50
OF90IHsKKyAgICBHcmFudGVkLAorICAgIERlbmllZCwKKyAgICBQcm9tcHQKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0
IEVudW1UcmFpdHM8V2ViQ29yZTo6UGVybWlzc2lvblN0YXRlPiB7CisgICAgdXNpbmcgdmFsdWVz
ID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlLAorICAgICAg
ICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkdyYW50ZWQsCisgICAgICAgIFdlYkNvcmU6OlBl
cm1pc3Npb25TdGF0ZTo6RGVuaWVkLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6
OlByb21wdAorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43NTc3OTc4MTJkMTk4NjllZjNlNTFhMmRiOWVhOGE3YWYxNjhhYzliCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
U3RhdGUuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5n
aXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1kZWYtcGVybWlzc2lvbnN0YXRlCisKK1sKKyAgICBF
bmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBlbnVtIFBlcm1pc3Npb25TdGF0ZSB7
CisgICAgImdyYW50ZWQiLAorICAgICJkZW5pZWQiLAorICAgICJwcm9tcHQiCit9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1
cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTgzYjM0MTY5YzNlNDhlZWRlNjQ0N2Y4NmQ4Njk4NzIxODNjMDNk
OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvblN0YXR1cy5jcHAKQEAgLTAsMCArMSw4MCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdHVzLmgiCisKKyNpbmNsdWRl
ICJDbGllbnRPcmlnaW4uaCIKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiUGFn
ZS5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSA8d3RmL0lz
b01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09f
QUxMT0NBVEVEX0lNUEwoUGVybWlzc2lvblN0YXR1cyk7CisKK1JlZjxQZXJtaXNzaW9uU3RhdHVz
PiBQZXJtaXNzaW9uU3RhdHVzOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4
dCwgUGVybWlzc2lvblN0YXRlIHN0YXRlLCBQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9y
KQoreworICAgIGF1dG8gc3RhdHVzID0gYWRvcHRSZWYoKm5ldyBQZXJtaXNzaW9uU3RhdHVzKGNv
bnRleHQsIHN0YXRlLCBkZXNjcmlwdG9yKSk7CisgICAgc3RhdHVzLT5zdXNwZW5kSWZOZWVkZWQo
KTsKKyAgICByZXR1cm4gc3RhdHVzOworfQorCitQZXJtaXNzaW9uU3RhdHVzOjpQZXJtaXNzaW9u
U3RhdHVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFBlcm1pc3Npb25TdGF0ZSBz
dGF0ZSwgUGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikKKyAgICA6IEFjdGl2ZURPTU9i
amVjdCgmY29udGV4dCkKKyAgICAsIG1fc3RhdGUoc3RhdGUpCisgICAgLCBtX2Rlc2NyaXB0b3Io
ZGVzY3JpcHRvcikKK3sKKyAgICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CisgICAgICAg
IGlmIChhdXRvIHBhZ2UgPSBkb3duY2FzdDxEb2N1bWVudD4oKnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSkucGFnZSgpKSB7CisgICAgICAgICAgICBtX2NvbnRyb2xsZXIgPSBtYWtlV2Vha1B0cihw
YWdlLT5wZXJtaXNzaW9uQ29udHJvbGxlcigpKTsKKyAgICAgICAgICAgIG1fY29udHJvbGxlci0+
YWRkT2JzZXJ2ZXIoKnRoaXMpOworICAgICAgICB9CisgICAgfQorCisgICAgYXV0byogb3JpZ2lu
ID0gY29udGV4dC5zZWN1cml0eU9yaWdpbigpOworICAgIGF1dG8gb3JpZ2luRGF0YSA9IG9yaWdp
biA/IG9yaWdpbi0+ZGF0YSgpIDogU2VjdXJpdHlPcmlnaW5EYXRhIHsgfTsKKyAgICBtX29yaWdp
biA9IENsaWVudE9yaWdpbiB7IGNvbnRleHQudG9wT3JpZ2luKCkuZGF0YSgpLCBvcmlnaW5EYXRh
IH07Cit9CisKK1Blcm1pc3Npb25TdGF0dXM6On5QZXJtaXNzaW9uU3RhdHVzKCkKK3sKKyAgICBp
ZiAobV9jb250cm9sbGVyKQorICAgICAgICBtX2NvbnRyb2xsZXItPnJlbW92ZU9ic2VydmVyKCp0
aGlzKTsKK30KKwordm9pZCBQZXJtaXNzaW9uU3RhdHVzOjpzdGF0ZUNoYW5nZWQoUGVybWlzc2lv
blN0YXRlIG5ld1N0YXRlKQoreworICAgIGlmIChtX3N0YXRlICE9IG5ld1N0YXRlKQorICAgICAg
ICBxdWV1ZVRhc2tUb0Rpc3BhdGNoRXZlbnQoKnRoaXMsIFRhc2tTb3VyY2U6OlBlcm1pc3Npb24s
IEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50LCBFdmVudDo6Q2FuQnViYmxl
OjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKK30KKworY29uc3QgY2hhciogUGVybWlz
c2lvblN0YXR1czo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuICJQ
ZXJtaXNzaW9uU3RhdHVzIjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yODZhMDNkNWZhNWU5Yzk0YWFlZGE4MzRkMmRiNDA0OWZlNGI5YjgyCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uU3RhdHVzLmgKQEAgLTAsMCArMSw3OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIK
KyNpbmNsdWRlICJQZXJtaXNzaW9uRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25O
YW1lLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbk9ic2VydmVyLmgiCisjaW5jbHVkZSAiUGVybWlz
c2lvblN0YXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVybWlzc2lvbkNv
bnRyb2xsZXI7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworCitjbGFzcyBQZXJtaXNz
aW9uU3RhdHVzIGZpbmFsIDogcHVibGljIFBlcm1pc3Npb25PYnNlcnZlciwgcHVibGljIEFjdGl2
ZURPTU9iamVjdCwgcHVibGljIFJlZkNvdW50ZWQ8UGVybWlzc2lvblN0YXR1cz4sIHB1YmxpYyBF
dmVudFRhcmdldFdpdGhJbmxpbmVEYXRhICB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChQ
ZXJtaXNzaW9uU3RhdHVzKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBlcm1pc3Npb25TdGF0
dXM+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUGVybWlzc2lvblN0YXRlLCBQZXJt
aXNzaW9uRGVzY3JpcHRvcik7CisgICAgflBlcm1pc3Npb25TdGF0dXMoKTsKKworICAgIFBlcm1p
c3Npb25TdGF0ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGU7IH0KKyAgICBQZXJtaXNz
aW9uTmFtZSBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kZXNjcmlwdG9yLm5hbWU7IH0KKworICAg
IHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkOjpkZXJlZjsKKwor
ICAgIHVzaW5nIFBlcm1pc3Npb25PYnNlcnZlcjo6d2Vha1B0ckZhY3Rvcnk7CisgICAgdXNpbmcg
V2Vha1ZhbHVlVHlwZSA9IFBlcm1pc3Npb25PYnNlcnZlcjo6V2Vha1ZhbHVlVHlwZTsKKworcHJp
dmF0ZToKKyAgICBQZXJtaXNzaW9uU3RhdHVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBQZXJt
aXNzaW9uU3RhdGUsIFBlcm1pc3Npb25EZXNjcmlwdG9yKTsKKworICAgIC8vIFBlcm1pc3Npb25P
YnNlcnZlcgorICAgIHZvaWQgc3RhdGVDaGFuZ2VkKFBlcm1pc3Npb25TdGF0ZSkgZmluYWw7Cisg
ICAgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4oKSBmaW5hbCB7IHJldHVybiBtX29yaWdpbjsg
fQorICAgIGNvbnN0IFBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yKCkgZmluYWwgeyBy
ZXR1cm4gbV9kZXNjcmlwdG9yOyB9CisKKyAgICAvLyBBY3RpdmVET01PYmplY3QKKyAgICBjb25z
dCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7CisKKyAgICAvLyBFdmVu
dFRhcmdldAorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBBY3RpdmVET01PYmplY3Q6OnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKTsgfQorICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJm
YWNlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gUGVybWlzc2lvblN0YXR1c0V2ZW50VGFyZ2V0SW50
ZXJmYWNlVHlwZTsgfQorICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9
CisgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CisKKyAgICBQ
ZXJtaXNzaW9uU3RhdGUgbV9zdGF0ZTsKKyAgICBQZXJtaXNzaW9uRGVzY3JpcHRvciBtX2Rlc2Ny
aXB0b3I7CisgICAgQ2xpZW50T3JpZ2luIG1fb3JpZ2luOworICAgIFdlYWtQdHI8UGVybWlzc2lv
bkNvbnRyb2xsZXI+IG1fY29udHJvbGxlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
blN0YXR1cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Np
b25TdGF0dXMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiNzgxNDJlNjk5ZTIwZTZiZTg2Y2M1Y2UyMDU2ZDFk
ZWI2OTJlZDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
IAorLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNwZXJtaXNzaW9uc3RhdHVz
CisKK1sKKyAgICBBY3RpdmVET01PYmplY3QsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNz
aW9uc0FQSSwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKQorXSBpbnRlcmZhY2UgUGVybWlz
c2lvblN0YXR1cyA6IEV2ZW50VGFyZ2V0IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgUGVybWlz
c2lvblN0YXRlIHN0YXRlOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQZXJtaXNzaW9uTmFtZSBu
YW1lOworICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jaGFuZ2U7Cit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yZjQ4OTZhMmY5MjVlM2U3ZTYyZGE2NDVlYmU5ZmJkYzVhMWJiNjFjCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5j
cHAKQEAgLTAsMCArMSw4OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJQZXJtaXNzaW9ucy5oIgorCisjaW5jbHVkZSAiRXhjZXB0aW9uLmgiCisjaW5jbHVk
ZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUg
IkpTUGVybWlzc2lvbkRlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3IuaCIKKyNpbmNs
dWRlICJQZXJtaXNzaW9uRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxp
bmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9J
TVBMKFBlcm1pc3Npb25zKTsKKworUmVmPFBlcm1pc3Npb25zPiBQZXJtaXNzaW9uczo6Y3JlYXRl
KE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBlcm1p
c3Npb25zKG5hdmlnYXRvcikpOworfQorCitQZXJtaXNzaW9uczo6UGVybWlzc2lvbnMoTmF2aWdh
dG9yJiBuYXZpZ2F0b3IpCisgICAgOiBtX25hdmlnYXRvcihtYWtlV2Vha1B0cihuYXZpZ2F0b3Ip
KQoreworfQorCitOYXZpZ2F0b3IqIFBlcm1pc3Npb25zOjpuYXZpZ2F0b3IoKQoreworICAgIHJl
dHVybiBtX25hdmlnYXRvci5nZXQoKTsKK30KKwordm9pZCBQZXJtaXNzaW9uczo6cXVlcnkoSlND
OjpTdHJvbmc8SlNDOjpKU09iamVjdD4gcGVybWlzc2lvbkRlc2NyaXB0b3JWYWx1ZSwgRE9NUHJv
bWlzZURlZmVycmVkPElETEludGVyZmFjZTxQZXJtaXNzaW9uU3RhdHVzPj4mJiBwcm9taXNlKQor
eworICAgIGF1dG8gY29udGV4dCA9IG1fbmF2aWdhdG9yID8gbV9uYXZpZ2F0b3ItPnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSA6IG51bGxwdHI7CisgICAgaWYgKCFjb250ZXh0IHx8ICFjb250ZXh0
LT5nbG9iYWxPYmplY3QoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBJ
bnZhbGlkU3RhdGVFcnJvciB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEpTQzo6
Vk0mIHZtID0gY29udGV4dC0+Z2xvYmFsT2JqZWN0KCktPnZtKCk7CisgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIGlmICghcGVybWlzc2lvbkRlc2NyaXB0b3JW
YWx1ZSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBEYXRhRXJyb3IsICJU
aGUgcGFyYW1ldGVyIGlzIGludmFsaWQiX3MgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBhdXRvIHBhcmFtZXRlckRlc2NyaXB0b3IgPSBjb252ZXJ0PElETERpY3Rpb25hcnk8UGVy
bWlzc2lvbkRlc2NyaXB0b3I+PigqY29udGV4dC0+Z2xvYmFsT2JqZWN0KCksIHBlcm1pc3Npb25E
ZXNjcmlwdG9yVmFsdWUuZ2V0KCkpOworICAgIGlmIChVTkxJS0VMWShzY29wZS5leGNlcHRpb24o
KSkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgRXhpc3RpbmdFeGNlcHRp
b25FcnJvciB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8qIGZyYW1lID0g
bV9uYXZpZ2F0b3ItPmZyYW1lKCk7CisgICAgYXV0byogZG9jdW1lbnQgPSBmcmFtZT8gZnJhbWUt
PmRvY3VtZW50KCkgOiBudWxscHRyOworICAgIGF1dG8qIHBhZ2UgPSBmcmFtZT8gZnJhbWUtPnBh
Z2UoKSA6IG51bGxwdHI7CisgICAgaWYgKCFmcmFtZSB8fCAhZG9jdW1lbnQgfHwgIXBhZ2UpIHsK
KyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIHBlcm1pc3Npb25TdGF0ZSA9IHBh
Z2UtPnBlcm1pc3Npb25Db250cm9sbGVyKCkucXVlcnkoQ2xpZW50T3JpZ2luIHsgZG9jdW1lbnQt
PnRvcE9yaWdpbigpLmRhdGEoKSwgZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpIH0s
IFBlcm1pc3Npb25EZXNjcmlwdG9yIHsgcGFyYW1ldGVyRGVzY3JpcHRvciB9KTsKKyAgICBwcm9t
aXNlLnJlc29sdmUoUGVybWlzc2lvblN0YXR1czo6Y3JlYXRlKCpjb250ZXh0LCBwZXJtaXNzaW9u
U3RhdGUsIHBhcmFtZXRlckRlc2NyaXB0b3IpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyZTg5NTdhZjExOGNjNjY0ZGRiNmM0YjU3NGQ2ZDI0Yzc1YzRmYTAKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25zLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aW5jbHVkZSAiSURMVHlwZXMuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJvbmcuaD4K
KyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKwor
bmFtZXNwYWNlIEpTQyB7CitjbGFzcyBKU09iamVjdDsKK30gLy8gbmFtZXNwYWNlIEpTQworCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmlnYXRvcjsKK2NsYXNzIFBlcm1pc3Npb25T
dGF0dXM7CisKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZl
cnJlZDsKKworY2xhc3MgUGVybWlzc2lvbnMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxQZXJt
aXNzaW9ucz4geworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUGVybWlzc2lvbnMpOworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8UGVybWlzc2lvbnM+IGNyZWF0ZShOYXZpZ2F0b3ImKTsKKwor
ICAgIE5hdmlnYXRvciogbmF2aWdhdG9yKCk7CisgICAgdm9pZCBxdWVyeShKU0M6OlN0cm9uZzxK
U0M6OkpTT2JqZWN0PiwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQZXJtaXNzaW9u
U3RhdHVzPj4mJik7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgUGVybWlzc2lvbnMoTmF2aWdh
dG9yJik7CisKKyAgICBXZWFrUHRyPE5hdmlnYXRvcj4gbV9uYXZpZ2F0b3I7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvbnMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2OGFhNjEyYTUwN2IzODA1NDBhNjcw
YmU2NDVhYjY2ZWY0MzgxZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNwZXJtaXNzaW9ucy1p
bnRlcmZhY2UKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCisgICAg
R2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVGcm9tTmF2aWdhdG9yLAorICAgIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUsCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKK10gaW50ZXJm
YWNlIFBlcm1pc3Npb25zIHsKKyAgICBQcm9taXNlPFBlcm1pc3Npb25TdGF0dXM+IHF1ZXJ5KG9i
amVjdCBwZXJtaXNzaW9uRGVzYyk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA2ZDU5ZGMzZmQ4Nzg0
YWMzNTc2MGFkZGY1ZDkyMDU4ZDI1ODRkMDdiLi44OTEwNTQ5NzMxOWE2YjA0ZTE4ZmU1MmU0NTFl
ZDRlZTlhNGYxNTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMjAzLDYgKzIwMyw5IEBAIE1vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0
L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1Bh
eW1lbnRSZXF1ZXN0VXRpbGl0aWVzLmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50
UmVzcG9uc2UuY3BwCitNb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNw
cAorTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcAorTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVu
dFBpY3R1cmVJblBpY3R1cmUuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0
dXJlSW5QaWN0dXJlRXZlbnQuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvSFRNTFZpZGVv
RWxlbWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCkBAIC0zMjcyLDYgKzMyNzUsMTEgQEAgSlNQZXJm
b3JtYW5jZVRpbWluZy5jcHAKIEpTUGVyaW9kaWNXYXZlLmNwcAogSlNQZXJpb2RpY1dhdmVDb25z
dHJhaW50cy5jcHAKIEpTUGVyaW9kaWNXYXZlT3B0aW9ucy5jcHAKK0pTUGVybWlzc2lvbkRlc2Ny
aXB0b3IuY3BwCitKU1Blcm1pc3Npb25OYW1lLmNwcAorSlNQZXJtaXNzaW9uU3RhdGUuY3BwCitK
U1Blcm1pc3Npb25TdGF0dXMuY3BwCitKU1Blcm1pc3Npb25zLmNwcAogSlNQaWN0dXJlSW5QaWN0
dXJlV2luZG93LmNwcAogSlNQbGF5YmFja0RpcmVjdGlvbi5jcHAKIEpTUG9pbnRlckV2ZW50LmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGQwYWEwZThkMmI5YjkxMDczYjk4M2E2OGNmNTlmN2U2NmEyYTUzNzUuLjM2YWRlZWQ0
OWQxMGY4N2E2MTgxZDgzMjgzZWI4NzY0ODQ4YWRkZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI4ODAsNiArMjg4MCwxNCBA
QAogCQk5M0E4MDYxNzFFMDNCNTFDMDA4QTFGMjYgLyogTG9uZ1JhbmdlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4MDYxMzFFMDNCNTFDMDA4QTFG
MjYgLyogTG9uZ1JhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJOTNBODA2MUUxRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTgwNjFBMUUw
M0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJhbmdlLmggKi87IH07CiAJCTkzQTgwNjIwMUUwM0I1
ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTNBODA2MUMxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9uZ1Jhbmdl
LmggKi87IH07CisJCTkzQjBBNjUzMjZDREQxNDEwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNz
aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNC
MEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi87IH07CisJ
CTkzQjBBNjU0MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NEIyNkNERDEzRTAwQUEyMUU0
IC8qIFBlcm1pc3Npb25zLmggKi87IH07CisJCTkzQjBBNjU2MjZDREQxNDEwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9uU3RhdHVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5M0IwQTY0RDI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5oICov
OyB9OworCQk5M0IwQTY1NzI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3Iu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjRF
MjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjU5MjZDREQxNDEwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTNCMEE2NTAyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1l
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNC
MEE2NUIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NTIyNkNERDE0MTAwQUEyMUU0
IC8qIFBlcm1pc3Npb25TdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTkzQjBBNjcwMjZENEI1MzkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uQ29u
dHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTNCMEE2NjkyNkQ0NEI3RjAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNCMEE2N0EyNkQ2
QTRFOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NkYyNkQ0QjUyOTAwQUEyMUU0IC8qIFBl
cm1pc3Npb25PYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTkzQjJEODE2MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMkQ4
MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNCMzhFQzMyNTgyMURCNDAwMTk4
RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IzOEVCQTI1ODIxOTNCMDAxOThFNjMgLyogV2ViU3Bl
ZWNoUmVjb2duaXplclRhc2suaCAqLzsgfTsKIAkJOTNCMzhFQzQyNTgyMURCNzAwMTk4RTYzIC8q
IFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMzhFQkIyNTgyMTkzRDAwMTk4RTYzIC8qIFdlYlNwZWVj
aFJlY29nbml6ZXJUYXNrTW9jay5oICovOyB9OwpAQCAtMTE3MDEsNiArMTE3MDksMjMgQEAKIAkJ
OTNBODA2MUExRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEb3VibGVSYW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5M0E4MDYxQjFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNMb25nUmFuZ2UuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0E4MDYxQzFFMDNCNTg1MDA4QTFGMjYgLyogSlNM
b25nUmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNMb25nUmFuZ2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDQyNkNEQzVCNjAwQUEyMUU0
IC8qIFBlcm1pc3Npb25TdGF0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lv
blN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDUyNkNEQzVC
NjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTkzQjBBNjQ2MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvbk5hbWUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5M0IwQTY0NzI2Q0RDNUI3MDBBQTIxRTQgLyogTmF2aWdhdG9yK1Blcm1pc3Np
b25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlk
bCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ4MjZDREM1QjcwMEFBMjFF
NCAvKiBQZXJtaXNzaW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvbnMu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0OTI2Q0RDNUI4MDBBQTIx
RTQgLyogUGVybWlzc2lvblN0YXR1cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlz
c2lvblN0YXR1cy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRBMjZD
REQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk5M0IwQTY0QjI2Q0REMTNFMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbnMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEMyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRv
clBlcm1pc3Npb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5h
dmlnYXRvclBlcm1pc3Npb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNC
MEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk5M0IwQTY0RTI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2Ny
aXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbkRlc2Ny
aXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEYyNkNERDE0MDAw
QUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTkzQjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uTmFtZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MTI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lv
bnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVybWlzc2lvbnMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MjI2Q0REMTQxMDBBQTIx
RTQgLyogUGVybWlzc2lvblN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFBlcm1pc3Npb25TdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY2
OTI2RDQ0QjdGMDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUGVybWlzc2lvbkNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTNCMEE2NkYyNkQ0QjUyOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQZXJtaXNzaW9uT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN1ZGRlblRlcm1pbmF0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjJEODE3MEY5OTIwRUUwMDZBRTZCMiAvKiBTdWRkZW5U
ZXJtaW5hdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN1
ZGRlblRlcm1pbmF0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IzOEVC
ODI1ODIxODk5MDAxOThFNjMgLyogU3BlZWNoUmVjb2duaXplckNvY29hLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3BlZWNoUmVjb2duaXplckNvY29hLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjMxODUsNiArMjMyMTAsMzAgQEAKIAkJCXBh
dGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk5M0IwQTY0MjI2
Q0RDNTc0MDBBQTIxRTQgLyogcGVybWlzc2lvbnMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsK
KwkJCWNoaWxkcmVuID0gKAorCQkJCTkzQjBBNjQ3MjZDREM1QjcwMEFBMjFFNCAvKiBOYXZpZ2F0
b3IrUGVybWlzc2lvbnMuaWRsICovLAorCQkJCTkzQjBBNjRDMjZDREQxM0UwMEFBMjFFNCAvKiBO
YXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAgKi8sCisJCQkJOTNCMEE2NEEyNkNERDEzRTAwQUEyMUU0
IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi8sCisJCQkJOTNCMEE2NjkyNkQ0NEI3RjAwQUEy
MUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggKi8sCisJCQkJOTNCMEE2NEUyNkNERDEzRjAw
QUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggKi8sCisJCQkJOTNCMEE2NDUyNkNEQzVC
NjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbCAqLywKKwkJCQk5M0IwQTY1MDI2
Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCAqLywKKwkJCQk5M0IwQTY0NjI2Q0RD
NUI3MDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaWRsICovLAorCQkJCTkzQjBBNjZGMjZENEI1
MjkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCAqLywKKwkJCQk5M0IwQTY1MTI2Q0RE
MTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuY3BwICovLAorCQkJCTkzQjBBNjRCMjZDREQxM0Uw
MEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oICovLAorCQkJCTkzQjBBNjQ4MjZDREM1QjcwMEFBMjFF
NCAvKiBQZXJtaXNzaW9ucy5pZGwgKi8sCisJCQkJOTNCMEE2NTIyNkNERDE0MTAwQUEyMUU0IC8q
IFBlcm1pc3Npb25TdGF0ZS5oICovLAorCQkJCTkzQjBBNjQ0MjZDREM1QjYwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9uU3RhdGUuaWRsICovLAorCQkJCTkzQjBBNjRGMjZDREQxNDAwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9uU3RhdHVzLmNwcCAqLywKKwkJCQk5M0IwQTY0RDI2Q0REMTNGMDBBQTIxRTQgLyog
UGVybWlzc2lvblN0YXR1cy5oICovLAorCQkJCTkzQjBBNjQ5MjZDREM1QjgwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9uU3RhdHVzLmlkbCAqLywKKwkJCSk7CisJCQlwYXRoID0gcGVybWlzc2lvbnM7CisJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk5M0IzOEVCNjI1ODIxODMzMDAxOThF
NjMgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApA
QCAtMjM3OTAsNiArMjM4MzksNyBAQAogCQkJCTcxRDZBQTM5MURBNEVBRjcwMEIyMzk2OSAvKiBt
b2Rlcm4tbWVkaWEtY29udHJvbHMgKi8sCiAJCQkJMzMzRjcwM0QwRkI0OUMxNjAwOEUxMkE2IC8q
IG5vdGlmaWNhdGlvbnMgKi8sCiAJCQkJQTFGNzZCMEUxRjQ0QzBDRjAwMTRDMzE4IC8qIHBheW1l
bnRyZXF1ZXN0ICovLAorCQkJCTkzQjBBNjQyMjZDREM1NzQwMEFBMjFFNCAvKiBwZXJtaXNzaW9u
cyAqLywKIAkJCQkxREVGMDZBMjIzM0MzMkRCMDBFRTIyOEQgLyogcGljdHVyZWlucGljdHVyZSAq
LywKIAkJCQkwNzJBRTFERTE4M0MwNTEzMDAwQTU5ODggLyogcGx1Z2lucyAqLywKIAkJCQlDREMz
MTJFMDIyRkNEMEIwMDAxMjA0RUMgLyogcmVtb3RlcGxheWJhY2sgKi8sCkBAIC0zMzc1Nyw2ICsz
MzgwNyw3IEBACiAJCQkJNkI1MDdBMjQyMzRCRjM0MTAwQkU3QzYyIC8qIE5hdmlnYXRvcklzTG9n
Z2VkSW4uaCBpbiBIZWFkZXJzICovLAogCQkJCTVFQTcyNUQ2MUFDQUJENTcwMEVBRDE3QiAvKiBO
YXZpZ2F0b3JNZWRpYURldmljZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3N0JBNTcyMjYwRkEw
MTQwMDcyRjE5RiAvKiBOYXZpZ2F0b3JNZWRpYVNlc3Npb24uaCBpbiBIZWFkZXJzICovLAorCQkJ
CTkzQjBBNjUzMjZDREQxNDEwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTk2RTU5REYxREYwMTI4RDAwNjYxMkI5IC8qIE5hdmlnYXRvcldlYkRy
aXZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCNzgyNDEzMTkxRjAwRTc5NEQ2IC8qIE5h
dmlnYXRvcldlYlhSLmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTMwOUM5RjEyMzk1MEJFMDBDQjky
MDQgLyogTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzM5NTYs
NiArMzQwMDcsMTMgQEAKIAkJCQlGRDU4MUZCNTE1MjBGOTNCMDAzQTdBNzUgLyogUGVyaW9kaWNX
YXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNzU1RTg5MjI0Qzc0MzRCMDA5RjdDMjMgLyogUGVy
aW9kaWNXYXZlQ29uc3RyYWludHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUU3NTVFODk5MjRDNzQ2
MUQwMDlGN0MyMyAvKiBQZXJpb2RpY1dhdmVPcHRpb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQk5
M0IwQTY3MDI2RDRCNTM5MDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTkzQjBBNjU3MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3Jp
cHRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTkyNkNERDE0MTAwQUEyMUU0IC8qIFBl
cm1pc3Npb25OYW1lLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY3QTI2RDZBNEU5MDBBQTIx
RTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1NDI2
Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBB
NjVCMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAor
CQkJCTkzQjBBNjU2MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0OUQ1REMyRTBGNDIzQTczMDA4RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFu
c2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTFEQkMxQjU2MjM0N0IzRDIwMEI5
MDFBRiAvKiBQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFE
MkM4MkI3MjM2QTNGNkEwMDU1RDZDNSAvKiBQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5oIGluIEhl
YWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRp
bk5hbWVzLmgKaW5kZXggZjE4MWM3OTZkNjUwY2M4NmZlM2YwOGE3MjAwN2E2ZWRjMmVmYmM3OC4u
ODUxYTIxNGM5YTQ4N2ZmNjhkMTZiZTdkZDhmYmI1MjA4ODdlYjkxZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMTU0LDYgKzE1
NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhNb2NrUlRDUnRwVHJhbnNmb3Jt
KSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yQ3JlZGVudGlhbHMpIFwKICAgICBtYWNybyhOYXZpZ2F0
b3JNZWRpYURldmljZXMpIFwKKyAgICBtYWNybyhOYXZpZ2F0b3JQZXJtaXNzaW9ucykgXAogICAg
IG1hY3JvKE5hdmlnYXRvclVzZXJNZWRpYSkgXAogICAgIG1hY3JvKE9mZmxpbmVBdWRpb0NvbnRl
eHQpIFwKICAgICBtYWNybyhPZmZzY3JlZW5DYW52YXMpIFwKQEAgLTE4Miw2ICsxODMsOSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWluZykgXAog
ICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3Jt
YW5jZVNlcnZlclRpbWluZykgXAorICAgIG1hY3JvKFBlcm1pc3Npb25EZXNjcmlwdG9yKSBcCisg
ICAgbWFjcm8oUGVybWlzc2lvblN0YXR1cykgXAorICAgIG1hY3JvKFBlcm1pc3Npb25zKSBcCiAg
ICAgbWFjcm8oUG9pbnRlckV2ZW50KSBcCiAgICAgbWFjcm8oUHVibGljS2V5Q3JlZGVudGlhbCkg
XAogICAgIG1hY3JvKFJlc2l6ZU9ic2VydmVyKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFy
Z2V0RmFjdG9yeS5pbgppbmRleCA1ZTU4ZjExMTY2N2VmNjIxMGQ1MzExMGQ3YjU0YTgwMmM4NDM5
NWQ4Li4wMTNjZWQwOTQ2ZmZjZDUyNTlmYTI1MGIxNjAzYTE4ZTQ1OWU0NTk5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTM1LDYgKzM1LDcgQEAgT2Zmc2Ny
ZWVuQ2FudmFzIGNvbmRpdGlvbmFsPU9GRlNDUkVFTl9DQU5WQVMKIFBheW1lbnRSZXF1ZXN0IGNv
bmRpdGlvbmFsPVBBWU1FTlRfUkVRVUVTVAogUGF5bWVudFJlc3BvbnNlIGNvbmRpdGlvbmFsPVBB
WU1FTlRfUkVRVUVTVAogUGVyZm9ybWFuY2UKK1Blcm1pc3Npb25TdGF0dXMKIFBpY3R1cmVJblBp
Y3R1cmVXaW5kb3cgY29uZGl0aW9uYWw9UElDVFVSRV9JTl9QSUNUVVJFX0FQSQogUmVtb3RlUGxh
eWJhY2sgY29uZGl0aW9uYWw9V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUCiBSVENEYXRhQ2hhbm5l
bCBjb25kaXRpb25hbD1XRUJfUlRDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGFz
a1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaAppbmRleCA3MTMzZjY3
OGVhMmQ5OTI2OTUxNjAyMDg2NGVmMTNkNGYzZWZkMzk4Li4yZGE0N2JhZDZjNzNhNmJhNWJmMjgz
YjhkMzUyZjQwZDIxYWYwMTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGFza1Nv
dXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UYXNrU291cmNlLmgKQEAgLTM5LDYgKzM5
LDcgQEAgZW51bSBjbGFzcyBUYXNrU291cmNlIDogdWludDhfdCB7CiAgICAgTWljcm90YXNrLAog
ICAgIE5ldHdvcmtpbmcsCiAgICAgUGVyZm9ybWFuY2VUaW1lbGluZSwKKyAgICBQZXJtaXNzaW9u
LAogICAgIFBvc3RlZE1lc3NhZ2VRdWV1ZSwKICAgICBTcGVlY2gsCiAgICAgVXNlckludGVyYWN0
aW9uLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCA5NjRlMmRkMTIw
NzAzMzFhNjVjYTM0MWFjNzBlNGIyODc0MjAwYTBkLi41NWNjNDZlMjU5MTg0NjlmMzFkNTZjMDQ5
NmU0M2RkNTVlY2ZkNWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApA
QCAtNjMsNiArNjMsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlQ29uZmln
dXJhdGlvbi5oIgogI2luY2x1ZGUgIlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oIgorI2luY2x1
ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGx1Z2luSW5mb1Byb3ZpZGVy
LmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2VjdXJp
dHlPcmlnaW5EYXRhLmgiCkBAIC0xMTkzLDcgKzExOTQsOCBAQCBQYWdlQ29uZmlndXJhdGlvbiBw
YWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklE
KQogICAgICAgICBtYWtlVW5pcXVlUmVmPEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ+KCksCiAgICAg
ICAgIG1ha2VVbmlxdWVSZWY8RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigpLAogICAg
ICAgICBtYWtlVW5pcXVlUmVmPEVtcHR5TWVkaWFSZWNvcmRlclByb3ZpZGVyPigpLAotICAgICAg
ICBFbXB0eUJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Y3JlYXRlKCkKKyAgICAgICAgRW1wdHlC
cm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmNyZWF0ZSgpLAorICAgICAgICBtYWtlVW5pcXVlUmVm
PER1bW15UGVybWlzc2lvbkNvbnRyb2xsZXI+KCkKICAgICB9OwogCiAgICAgc3RhdGljIE5ldmVy
RGVzdHJveWVkPEVtcHR5Q2hyb21lQ2xpZW50PiBkdW1teUNocm9tZUNsaWVudDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuY3BwCmluZGV4IGVlZTY4Yjc3ZTFlNWZjZTFlNTljMzI5NDM0YTlhODYwMGIzNjk3MTAuLjg2
MTA3OGJhMGJmNjE4M2I3NzExNDVhNzRiNDFiZTA3ZDdiMDU2MmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cApAQCAtOTksNiArOTksNyBAQAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTG9nZ2luZy5oIgogI2lu
Y2x1ZGUgIlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNl
TW9uaXRvci5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TY3JlZW4u
aCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKQEAgLTMyNSw2ICszMjYsNyBAQCBQ
YWdlOjpQYWdlKFBhZ2VDb25maWd1cmF0aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAgICAgLCBt
X2xvYWRzU3VicmVzb3VyY2VzKHBhZ2VDb25maWd1cmF0aW9uLmxvYWRzU3VicmVzb3VyY2VzKQog
ICAgICwgbV9zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZyhwYWdlQ29uZmlndXJh
dGlvbi5zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZykKICAgICAsIG1faHR0cHNV
cGdyYWRlRW5hYmxlZChwYWdlQ29uZmlndXJhdGlvbi5odHRwc1VwZ3JhZGVFbmFibGVkKQorICAg
ICwgbV9wZXJtaXNzaW9uQ29udHJvbGxlcihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnBlcm1p
c3Npb25Db250cm9sbGVyKSkKIHsKICAgICB1cGRhdGVUaW1lclRocm90dGxpbmdTdGF0ZSgpOwog
CkBAIC0zNjkzLDQgKzM2OTUsOSBAQCB2b2lkIFBhZ2U6OnJlc2V0VGV4dFJlY29nbml0aW9uUmVz
dWx0cygpCiAKICNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKK1Blcm1pc3Npb25D
b250cm9sbGVyJiBQYWdlOjpwZXJtaXNzaW9uQ29udHJvbGxlcigpCit7CisgICAgcmV0dXJuIG1f
cGVybWlzc2lvbkNvbnRyb2xsZXIuZ2V0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmgKaW5kZXggOTI1NWJmMzEzYzY3ZDcxNDgxNWNmNzgxNTI2NmZmZDgwNWIyMmY2
MC4uM2IxZTI2OTA1NTZkZDRmM2QxN2E4ZWI4NWYyNGQwMDQwODg3NDM3NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmgKQEAgLTEzMSw2ICsxMzEsNyBAQCBjbGFzcyBQYXltZW50Q29vcmRpbmF0b3I7CiBjbGFzcyBQ
ZXJmb3JtYW5jZUxvZ2dpbmc7CiBjbGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQ7CiBjbGFz
cyBQZXJmb3JtYW5jZU1vbml0b3I7CitjbGFzcyBQZXJtaXNzaW9uQ29udHJvbGxlcjsKIGNsYXNz
IFBsdWdpbkRhdGE7CiBjbGFzcyBQbHVnaW5JbmZvUHJvdmlkZXI7CiBjbGFzcyBQbHVnaW5WaWV3
QmFzZTsKQEAgLTg3Miw2ICs4NzMsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjYWNoZVRleHRSZWNv
Z25pdGlvblJlc3VsdChjb25zdCBIVE1MRWxlbWVudCYsIGNvbnN0IEludFJlY3QmIGNvbnRhaW5l
clJlY3QsIGNvbnN0IFRleHRSZWNvZ25pdGlvblJlc3VsdCYpOwogI2VuZGlmCiAKKyAgICBXRUJD
T1JFX0VYUE9SVCBQZXJtaXNzaW9uQ29udHJvbGxlciYgcGVybWlzc2lvbkNvbnRyb2xsZXIoKTsK
KwogcHJpdmF0ZToKICAgICBzdHJ1Y3QgTmF2aWdhdGlvbiB7CiAgICAgICAgIFJlZ2lzdHJhYmxl
RG9tYWluIGRvbWFpbjsKQEAgLTExOTQsNiArMTE5Nyw4IEBAIHByaXZhdGU6CiAgICAgY29uc3Qg
Ym9vbCBtX2h0dHBzVXBncmFkZUVuYWJsZWQgeyB0cnVlIH07CiAgICAgbXV0YWJsZSBNZWRpYVNl
c3Npb25Hcm91cElkZW50aWZpZXIgbV9tZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXI7CiAKKyAg
ICBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+IG1fcGVybWlzc2lvbkNvbnRyb2xsZXI7
CisKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAgICAgLy8gRklYTUU6IFRoZXNlIHNob3Vs
ZCBiZSByZWZhY3RvcmVkIHRvIHVzZSBhIHdlYWsgaGFzaCBtYXAgb2YgSFRNTEVsZW1lbnQgdG8g
c3RkOjpwYWlyPFRleHRSZWNvZ25pdGlvblJlc3VsdCwgSW50U2l6ZT4uCiAgICAgVmVjdG9yPHN0
ZDo6cGFpcjxXZWFrUHRyPEhUTUxFbGVtZW50Piwgc3RkOjpwYWlyPFRleHRSZWNvZ25pdGlvblJl
c3VsdCwgSW50UmVjdD4+PiBtX3RleHRSZWNvZ25pdGlvblJlc3VsdHNCeUVsZW1lbnQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDY3NWUzNjljYzFlMmMy
Yjc3ZDk5ZmRkMDkxMzRiMTk4ZjBjZjNhZjMuLmNiNTYwZmQ0MTRhMjNhNzZiMmNjN2I2MGVhNTAy
OTk5YTk4MWNjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3Vy
YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3Bw
CkBAIC01OSw3ICs1OSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFnZUNvbmZpZ3Vy
YXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgVW5pcXVl
UmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiBz
b2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmIGxpYldlYlJUQ1By
b3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYgY2FjaGVTdG9yYWdlUHJvdmlkZXIs
IFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmIHVzZXJDb250ZW50UHJvdmlkZXIsIFJlZjxCYWNr
Rm9yd2FyZENsaWVudD4mJiBiYWNrRm9yd2FyZENsaWVudCwgUmVmPENvb2tpZUphcj4mJiBjb29r
aWVKYXIsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYgcHJvZ3Jlc3NUcmFja2Vy
Q2xpZW50LCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+JiYgbG9hZGVyQ2xpZW50Rm9yTWFp
bkZyYW1lLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4mJiBzcGVlY2hSZWNv
Z25pdGlvblByb3ZpZGVyLCBVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPiYmIG1lZGlh
UmVjb3JkZXJQcm92aWRlciwgUmVmPEJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4mJiBicm9hZGNh
c3RDaGFubmVsUmVnaXN0cnkpCitQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24o
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRv
ckNsaWVudCwgUmVmPFNvY2tldFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyLCBVbmlxdWVSZWY8
TGliV2ViUlRDUHJvdmlkZXI+JiYgbGliV2ViUlRDUHJvdmlkZXIsIFJlZjxDYWNoZVN0b3JhZ2VQ
cm92aWRlcj4mJiBjYWNoZVN0b3JhZ2VQcm92aWRlciwgUmVmPFVzZXJDb250ZW50UHJvdmlkZXI+
JiYgdXNlckNvbnRlbnRQcm92aWRlciwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmIGJhY2tGb3J3
YXJkQ2xpZW50LCBSZWY8Q29va2llSmFyPiYmIGNvb2tpZUphciwgVW5pcXVlUmVmPFByb2dyZXNz
VHJhY2tlckNsaWVudD4mJiBwcm9ncmVzc1RyYWNrZXJDbGllbnQsIFVuaXF1ZVJlZjxGcmFtZUxv
YWRlckNsaWVudD4mJiBsb2FkZXJDbGllbnRGb3JNYWluRnJhbWUsIFVuaXF1ZVJlZjxTcGVlY2hS
ZWNvZ25pdGlvblByb3ZpZGVyPiYmIHNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXIsIFVuaXF1ZVJl
ZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYgbWVkaWFSZWNvcmRlclByb3ZpZGVyLCBSZWY8QnJv
YWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmIGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSwgVW5pcXVl
UmVmPFBlcm1pc3Npb25Db250cm9sbGVyPiYmIHBlcm1pc3Npb25Db250cm9sbGVyKQogICAgIDog
c2Vzc2lvbklEKHNlc3Npb25JRCkKICAgICAsIGVkaXRvckNsaWVudChXVEZNb3ZlKGVkaXRvckNs
aWVudCkpCiAgICAgLCBzb2NrZXRQcm92aWRlcihXVEZNb3ZlKHNvY2tldFByb3ZpZGVyKSkKQEAg
LTczLDYgKzczLDcgQEAgUGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckMKICAgICAsIGJyb2FkY2FzdENo
YW5uZWxSZWdpc3RyeShXVEZNb3ZlKGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSkpCiAgICAgLCBz
cGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyKFdURk1vdmUoc3BlZWNoUmVjb2duaXRpb25Qcm92aWRl
cikpCiAgICAgLCBtZWRpYVJlY29yZGVyUHJvdmlkZXIoV1RGTW92ZShtZWRpYVJlY29yZGVyUHJv
dmlkZXIpKQorICAgICwgcGVybWlzc2lvbkNvbnRyb2xsZXIoV1RGTW92ZShwZXJtaXNzaW9uQ29u
dHJvbGxlcikpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaApp
bmRleCAwZjI1OWQ1NmQzYTE0MmExNGUwZWM4NTE0ZTBmZDViMmZkMjkzMGE1Li5kNzViNzEwNGMz
NTAzOTFmNThhOTY4ZmFlMmU2ZTAzNTQ2MTE2YWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
Q29uZmlndXJhdGlvbi5oCkBAIC01OSw2ICs1OSw3IEBAIGNsYXNzIExpYldlYlJUQ1Byb3ZpZGVy
OwogY2xhc3MgTWVkaWFSZWNvcmRlclByb3ZpZGVyOwogY2xhc3MgUGF5bWVudENvb3JkaW5hdG9y
Q2xpZW50OwogY2xhc3MgUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50OworY2xhc3MgUGVybWlzc2lv
bkNvbnRyb2xsZXI7CiBjbGFzcyBQbHVnaW5JbmZvUHJvdmlkZXI7CiBjbGFzcyBQcm9ncmVzc1Ry
YWNrZXJDbGllbnQ7CiBjbGFzcyBTb2NrZXRQcm92aWRlcjsKQEAgLTc0LDcgKzc1LDcgQEAgY2xh
c3MgU3BlZWNoU3ludGhlc2lzQ2xpZW50OwogY2xhc3MgUGFnZUNvbmZpZ3VyYXRpb24gewogICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDb25maWd1cmF0aW9uKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24o
UEFMOjpTZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYsIFJlZjxTb2NrZXRQcm92
aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmLCBSZWY8Q2FjaGVTdG9yYWdl
UHJvdmlkZXI+JiYsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmLCBSZWY8QmFja0ZvcndhcmRD
bGllbnQ+JiYsIFJlZjxDb29raWVKYXI+JiYsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGll
bnQ+JiYsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNsaWVudD4mJiwgVW5pcXVlUmVmPFNwZWVjaFJl
Y29nbml0aW9uUHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYs
IFJlZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIFBh
Z2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYm
LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiwg
UmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmLCBSZWY8VXNlckNvbnRlbnRQcm92aWRlcj4mJiwg
UmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmLCBSZWY8Q29va2llSmFyPiYmLCBVbmlxdWVSZWY8UHJv
Z3Jlc3NUcmFja2VyQ2xpZW50PiYmLCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+JiYsIFVu
aXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TWVkaWFSZWNv
cmRlclByb3ZpZGVyPiYmLCBSZWY8QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmLCBVbmlxdWVS
ZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+JiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5QYWdlQ29u
ZmlndXJhdGlvbigpOwogICAgIFBhZ2VDb25maWd1cmF0aW9uKFBhZ2VDb25maWd1cmF0aW9uJiYp
OwogCkBAIC0xMzgsNiArMTM5LDggQEAgcHVibGljOgogICAgIGJvb2wgdXNlclNjcmlwdHNTaG91
bGRXYWl0VW50aWxOb3RpZmljYXRpb24geyB0cnVlIH07CiAgICAgU2hvdWxkUmVsYXhUaGlyZFBh
cnR5Q29va2llQmxvY2tpbmcgc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcgeyBT
aG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZzo6Tm8gfTsKICAgICBib29sIGh0dHBz
VXBncmFkZUVuYWJsZWQgeyB0cnVlIH07CisKKyAgICBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRy
b2xsZXI+IHBlcm1pc3Npb25Db250cm9sbGVyOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggNjZh
ZWRhNDNjODJkOGJmYjMzNWJiZmVmNjA5NWQwNGVmYWRiODYyMC4uYTc0NWQ3MjAxNWNmYzE5NWZi
OTZmMmNjNTU4NThhODMxYjc1MGVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2Vz
LnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC02OTQsNiArNjk0LDcgQEAg
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJNZWRpYUtleVN5c3RlbUNsaWVudC5jcHAKIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIuY3Bw
CiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmNwcAor
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAKIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlByb2dyZXNzVHJhY2tlckNsaWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDVmYjMwODk1MDE1NjI0ODY2NjE1M2M2MjRmNDAzNGVh
NGE4ODRmZGYuLjlhODI5NmI5OGQ1YmIwZGI2M2E3ODBmMTViZjM0MjMzZTdlNDNjMWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTcyLDYgKzE3Miw3IEBA
CiAjaW5jbHVkZSA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9NZWRpYVN0cmVhbVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BlcmZvcm1hbmNlTG9n
Z2luZ0NsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGVybWlzc2lvblN0YXRlLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcml2YXRl
Q2xpY2tNZWFzdXJlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHVibGljU3VmZml4Lmg+CkBA
IC04NDkzLDYgKzg0OTQsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJldm9rZUdlb2xvY2F0aW9u
QXV0aG9yaXphdGlvblRva2VuKGNvbnN0IFN0cmluZyYgYXV0aG9yaXphdGkKICAgICBtX2dlb2xv
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLnJldm9rZUF1dGhvcml6YXRpb25Ub2tlbihh
dXRob3JpemF0aW9uVG9rZW4pOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1p
c3Npb24oY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6UGVybWlz
c2lvbkRlc2NyaXB0b3ImLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Np
b25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgLy8gRklYTUU6IFNob3cgYSBw
cm9tcHQgZm9yIHVzZXIgaW5wdXQuCisgICAgY29tcGxldGlvbkhhbmRsZXIoUGVybWlzc2lvblN0
YXRlOjpHcmFudGVkKTsKK30KKwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiBVc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSYgV2ViUGFnZVByb3h5Ojp1c2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXIoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAppbmRleCBlYTFjMjJmYjZiMTFiZTk2ODk5MjgyNjRkM2JmM2ZjODQ3MTA5YjhkLi40NjFh
YWNiODg4NmE1MjMxY2NhYWZmMDc0ZjJhMWE1NGMwMTc3ZDc0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjk0LDYgKzI5NCw3IEBAIHN0cnVjdCBMaW5rSWNvbjsK
IHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3Q7CiBzdHJ1Y3QgTWVkaWFVc2FnZUluZm87CiBzdHJ1
Y3QgTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbjsKK3N0cnVjdCBQZXJtaXNzaW9u
RGVzY3JpcHRvcjsKIHN0cnVjdCBQcmV3YXJtSW5mb3JtYXRpb247CiBzdHJ1Y3QgU2VjdXJpdHlP
cmlnaW5EYXRhOwogc3RydWN0IFNoYXJlRGF0YTsKQEAgLTIxMTcsNiArMjExOCw3IEBAIHByaXZh
dGU6CiAKICAgICB2b2lkIHJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZShHZW9s
b2NhdGlvbklkZW50aWZpZXIsIEZyYW1lSW5mb0RhdGEmJik7CiAgICAgdm9pZCByZXZva2VHZW9s
b2NhdGlvbkF1dGhvcml6YXRpb25Ub2tlbihjb25zdCBTdHJpbmcmIGF1dGhvcml6YXRpb25Ub2tl
bik7CisgICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihjb25zdCBXZWJDb3JlOjpDbGllbnRPcmln
aW4mLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKT4mJik7CiAKICNpZiBQTEFURk9STShH
VEspIHx8IFBMQVRGT1JNKFdQRSkKICAgICB2b2lkIHNlbmRNZXNzYWdlVG9XZWJWaWV3KFVzZXJN
ZXNzYWdlJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCmluZGV4IGJjMzdiOGZjNmFkZjNlYWQxODcyZDExNTVmZjBjYmQwMDlkYzBhZjku
LjA3ZTBmNTQ4MDM0Njk3MDNhNmY3MzdkOTkzMDdiMWVjNzM1MGNkMzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTYwMiw0ICs2
MDIsNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2lmIEhBVkUoQVJLSVRfSU5MSU5F
X1BSRVZJRVdfTUFDKQogICAgIE1vZGVsRWxlbWVudERpZENyZWF0ZVByZXZpZXcoc3RydWN0IFdl
YkNvcmU6OkVsZW1lbnRDb250ZXh0IGVsZW1lbnRDb250ZXh0LCBVUkwgdXJsLCBTdHJpbmcgdXVp
ZCwgV2ViQ29yZTo6RmxvYXRTaXplIHNpemUpCiAjZW5kaWYKKworICAgIHJlcXVlc3RQZXJtaXNz
aW9uKHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luLCBzdHJ1Y3QgV2ViQ29yZTo6
UGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikgLT4gKGVudW06dWludDhfdCBXZWJDb3Jl
OjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpIEFzeW5jCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmZTNkMzJiMzI5NWMyYzQ0ZmQ0NDQ0
Y2RkN2YxNDFmMjQwMDRjYTAyLi5mYjY4YTNiZDE2ZDI3MzgyY2QzM2M5M2IxMGJlYmUyOTNiMzNh
NTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTE0OTYsNiArMTQ5Niw3IEBACiAJCTkzQUI5QjRFMjU3NTY3RTIwMDk4QjEwRSAvKiBT
cGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQUI5QjQyMjU3NDkyOEMwMDk4QjEw
RSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2UuaCAqLzsgfTsK
IAkJOTNBQjlCNTUyNTc1QTI3NjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVhbHRpbWVN
ZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBQjlCNEYyNTc1ODkxMTAwOThCMTBFIC8qIFNw
ZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovOyB9OwogCQk5M0FCOUI1NjI1NzVBMjhCMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRp
b25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0FCOUI1MTI1NzU4
OTExMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNl
TWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTkzQjBBNjc1MjZENUFEQ0YwMEFB
MjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NzQyNkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBl
cm1pc3Npb25Db250cm9sbGVyLmggKi87IH07CiAJCTkzQjI2MTREMjI3RDE0OUUwMEI5N0E3NiAv
KiBTdG9yYWdlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTNCMjYxNDkyMjdEMTQ3MjAwQjk3QTc2IC8qIFN0b3JhZ2VNYW5hZ2VyLmggKi87
IH07CiAJCTkzQjI2MTRFMjI3RDE0QjEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMjYxNDUy
MjdEMTQ3MDAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmggKi87IH07CiAJCTkzQjI2
MTRGMjI3RDE0QjEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjI2MTQ2MjI3RDE0
NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaCAqLzsgfTsKQEAgLTQ5
MTQsNiArNDkxNSwxMCBAQAogCQk5M0FCOUI1MjI1NzU4OTEyMDA5OEIxMEUgLyogU3BlZWNoUmVj
b2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGVlY2hSZWNvZ25pdGlvblJlbW90
ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTkzQUI5QjUzMjU3NTg5MTIwMDk4QjEwRSAvKiBTcGVlY2hSZWNv
Z25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGlt
ZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTkzQUI5QjU0MjU3NTg5MTIwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1l
TWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU3BlZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2Vz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjZEMjZENDUxNTAwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBQZXJtaXNzaW9uTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTkzQjBBNjZFMjZENDUxNTAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uTWFuYWdlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY3MzI2RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVy
bWlzc2lvbkNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk5M0IwQTY3NDI2RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUGVybWlzc2lvbkNvbnRyb2xs
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMjYxNDUyMjdEMTQ3MDAwQjk3
QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IExvY2FsU3RvcmFnZURhdGFiYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTkzQjI2MTQ2MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNr
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxTdG9yYWdlRGF0YWJh
c2VUcmFja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjI2MTQ3MjI3RDE0
NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk2MjMsNiArOTYyOCwxNSBAQAogCQkJ
cGF0aCA9IFNwZWVjaDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTkzQjBB
NjZDMjZENDUxMUYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uICovID0geworCQkJaXNhID0gUEJYR3Jv
dXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk5M0IwQTY2RDI2RDQ1MTUwMDBBQTIxRTQgLyogUGVy
bWlzc2lvbk1hbmFnZXIuY3BwICovLAorCQkJCTkzQjBBNjZFMjZENDUxNTAwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9uTWFuYWdlci5oICovLAorCQkJKTsKKwkJCXBhdGggPSBQZXJtaXNzaW9uOworCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJOTNCMjYxNDMyMjdEMTQzMTAwQjk3QTc2
IC8qIFdlYlN0b3JhZ2UgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KApAQCAtOTg2Myw2ICs5ODc3LDcgQEAKIAkJCQk0QTQxMEY0MTE5QUY3QjI3MDAyRUJBQjUgLyog
TWVkaWFTdHJlYW0gKi8sCiAJCQkJNTEwNUIwRDIxNjJGN0E1RTAwRTI3NzA5IC8qIE5ldHdvcmsg
Ki8sCiAJCQkJMzEwOTk5NzQxNDZDOEFBODAwMjlERUI5IC8qIE5vdGlmaWNhdGlvbnMgKFVzZXIp
ICovLAorCQkJCTkzQjBBNjZDMjZENDUxMUYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uICovLAogCQkJ
CTFBNkZCN0FBMTFFNjRCNDkwMERCMTM3MSAvKiBQbHVnaW5zICovLAogCQkJCTkzQUI5QjQ4MjU3
NEM1Q0UwMDk4QjEwRSAvKiBTcGVlY2ggKi8sCiAJCQkJNTExOEU5OTgxRjI5NTI1OTAwM0VGOUY1
IC8qIFN0b3JhZ2UgKi8sCkBAIC05OTMzLDYgKzk5NDgsOCBAQAogCQkJCTUxMjEyN0MyMTkwODIz
OUEwMERBRjM1QyAvKiBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmggKi8sCiAJCQkJMEY4NTBGRTQx
RUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAgKi8sCiAJ
CQkJMEY4NTBGRTUxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVu
dC5oICovLAorCQkJCTkzQjBBNjczMjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29u
dHJvbGxlci5jcHAgKi8sCisJCQkJOTNCMEE2NzQyNkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBlcm1p
c3Npb25Db250cm9sbGVyLmggKi8sCiAJCQkJMUEzRTczNjAxMUNDMjY1OTAwN0JENTM5IC8qIFdl
YlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgKi8sCiAJCQkJMUEzRTczNUYxMUNDMjY1OTAwN0JENTM5
IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5oICovLAogCQkJCUQzQjk0ODQyMTFGRjRCNjUwMDAz
MkIzOSAvKiBXZWJQb3B1cE1lbnUuY3BwICovLApAQCAtMTI2NjIsNiArMTI2NzksNyBAQAogCQkJ
CUExNzk4QjRDMjIyRjFCRDQwMDA3NjRCRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNv
Y29hLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUIxRjc5OTFEMUIzNjEzMDA3QzlCRDEgLyogV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY4
NTBGRTcxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NzUyNkQ1QURDRjAwQUEyMUU0IC8qIFdlYlBlcm1pc3Np
b25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTNFNzM2MTExQ0MyNjU5MDA3QkQ1
MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzU3NDRG
MDEyNjM4RkIzMDA2RjBGMTIgLyogV2ViUG9wdXBJdGVtLmggaW4gSGVhZGVycyAqLywKIAkJCQlE
M0I5NDg0NzExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmggaW4gSGVhZGVycyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
ZXJtaXNzaW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFiOTAzNThk
MWNiMTY5YWM1ZTdiYjNhNGI3NzllZWFlOTY1NjAwNTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xs
ZXIuY3BwCkBAIC0wLDAgKzEsMTM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIldlYlBlcm1pc3Npb25Db250cm9sbGVyLmgiCisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXIo
V2ViUGFnZSYgcGFnZSkKKyAgICA6IG1fcGFnZShtYWtlV2Vha1B0cihwYWdlKSkKK3sKK30KKwor
UGVybWlzc2lvblN0YXRlIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpxdWVyeShXZWJDb3JlOjpD
bGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiYgZGVz
Y3JpcHRvcikKK3sKKyAgICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlBl
cm1pc3Npb25TdGF0ZTo6RGVuaWVkOworCisgICAgcmV0dXJuIHF1ZXJ5Q2FjaGUoV1RGTW92ZShv
cmlnaW4pLCBXVEZNb3ZlKGRlc2NyaXB0b3IpKTsKK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29u
dHJvbGxlcjo6cmVxdWVzdChDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNvcmU6OlBlcm1pc3Np
b25EZXNjcmlwdG9yJiYgZGVzY3JpcHRvciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChQZXJtaXNz
aW9uU3RhdGUpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGlmICghbV9wYWdlKQorICAg
ICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoUGVybWlzc2lvblN0YXRlOjpEZW5pZWQpOwor
CisgICAgYXV0byBjYWNoZWRSZXN1bHQgPSBxdWVyeUNhY2hlKG9yaWdpbiwgZGVzY3JpcHRvcik7
CisgICAgaWYgKGNhY2hlZFJlc3VsdCAhPSBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21w
dCkKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGNhY2hlZFJlc3VsdCk7CisKKyAg
ICBtX3JlcXVlc3RzLmFwcGVuZChQZXJtaXNzaW9uUmVxdWVzdCB7IFdURk1vdmUob3JpZ2luKSwg
V1RGTW92ZShkZXNjcmlwdG9yKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikgfSk7CisgICAg
dHJ5UHJvY2Vzc2luZ1JlcXVlc3QoKTsKK30KKworUGVybWlzc2lvblN0YXRlIFdlYlBlcm1pc3Np
b25Db250cm9sbGVyOjpxdWVyeUNhY2hlKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYgb3Jp
Z2luLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcikKK3sK
KyAgICBpZiAobV9jYWNoZWRQZXJtaXNzaW9uRW50cmllcy5jb250YWlucyhvcmlnaW4pKSB7Cisg
ICAgICAgIGF1dG8gcGVybWlzc2lvbkVudHJpZXMgPSBtX2NhY2hlZFBlcm1pc3Npb25FbnRyaWVz
LmdldChvcmlnaW4pOworICAgICAgICBmb3IgKGF1dG8mIGVudHJ5IDogcGVybWlzc2lvbkVudHJp
ZXMpIHsKKyAgICAgICAgICAgIGlmIChlbnRyeS5maXJzdCA9PSBkZXNjcmlwdG9yKQorICAgICAg
ICAgICAgICAgIHJldHVybiBlbnRyeS5zZWNvbmQ7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBy
ZXR1cm4gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpQcm9tcHQ7Cit9CisKK3ZvaWQgV2ViUGVy
bWlzc2lvbkNvbnRyb2xsZXI6OnVwZGF0ZUNhY2hlKGNvbnN0IENsaWVudE9yaWdpbiYgb3JpZ2lu
LCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgV2ViQ29y
ZTo6UGVybWlzc2lvblN0YXRlIHN0YXRlKQoreworICAgIGF1dG8mIGVudHJpZXMgPSBtX2NhY2hl
ZFBlcm1pc3Npb25FbnRyaWVzLmVuc3VyZShvcmlnaW4sIFsmXSgpIHsKKyAgICAgICAgcmV0dXJu
IFZlY3RvcjxQZXJtaXNzaW9uRW50cnk+IHsgfTsKKyAgICB9KS5pdGVyYXRvci0+dmFsdWU7Cisg
ICAgZm9yIChhdXRvJiBlbnRyeSA6IGVudHJpZXMpIHsKKyAgICAgICAgaWYgKGVudHJ5LmZpcnN0
ID09IGRlc2NyaXB0b3IpIHsKKyAgICAgICAgICAgIGlmIChlbnRyeS5zZWNvbmQgPT0gc3RhdGUp
CisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBlbnRyeS5zZWNvbmQgPSBz
dGF0ZTsKKyAgICAgICAgICAgIHBlcm1pc3Npb25DaGFuZ2VkKG9yaWdpbiwgZGVzY3JpcHRvciwg
c3RhdGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorfQorCit2b2lk
IFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQcm9jZXNzaW5nUmVxdWVzdCgpCit7CisgICAg
aWYgKG1fcmVxdWVzdHMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKKyAgICB3aGlsZSAo
IW1fcmVxdWVzdHMuaXNFbXB0eSgpKSB7CisgICAgICAgIGF1dG8mIGN1cnJlbnRSZXF1ZXN0ID0g
bV9yZXF1ZXN0cy5maXJzdCgpOworICAgICAgICBpZiAoY3VycmVudFJlcXVlc3QuaXNXYWl0aW5n
Rm9yUmVwbHkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgLy8gQ2FjaGUgbWF5IGhh
dmUgY2hhbmdlZCBiZXR3ZWVuIHJlcXVlc3RzLgorICAgICAgICBhdXRvIGNhY2hlZFJlc3VsdCA9
IHF1ZXJ5Q2FjaGUoY3VycmVudFJlcXVlc3Qub3JpZ2luLCBjdXJyZW50UmVxdWVzdC5kZXNjcmlw
dG9yKTsKKyAgICAgICAgaWYgKGNhY2hlZFJlc3VsdCAhPSBXZWJDb3JlOjpQZXJtaXNzaW9uU3Rh
dGU6OlByb21wdCkgeworICAgICAgICAgICAgYXV0byB0YWtlblJlcXVlc3QgPSBtX3JlcXVlc3Rz
LnRha2VGaXJzdCgpOworICAgICAgICAgICAgdGFrZW5SZXF1ZXN0LmNvbXBsZXRpb25IYW5kbGVy
KGNhY2hlZFJlc3VsdCk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCisgICAg
ICAgIGN1cnJlbnRSZXF1ZXN0LmlzV2FpdGluZ0ZvclJlcGx5ID0gdHJ1ZTsKKyAgICAgICAgbV9w
YWdlLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBl
cm1pc3Npb24oY3VycmVudFJlcXVlc3Qub3JpZ2luLCBjdXJyZW50UmVxdWVzdC5kZXNjcmlwdG9y
KSwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXShhdXRvIHN0YXRlKSB7Cisg
ICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICAgICAgYXV0byB0YWtlblJlcXVlc3QgPSBtX3JlcXVlc3RzLnRha2VGaXJzdCgpOworICAg
ICAgICAgICAgdGFrZW5SZXF1ZXN0LmNvbXBsZXRpb25IYW5kbGVyKHN0YXRlKTsKKyAgICAgICAg
ICAgIHVwZGF0ZUNhY2hlKHRha2VuUmVxdWVzdC5vcmlnaW4sIHRha2VuUmVxdWVzdC5kZXNjcmlw
dG9yLCBzdGF0ZSk7CisKKyAgICAgICAgICAgIHRyeVByb2Nlc3NpbmdSZXF1ZXN0KCk7CisgICAg
ICAgIH0pOworICAgIH0KK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6YWRkT2Jz
ZXJ2ZXIoV2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICBtX29i
c2VydmVycy5hZGQob2JzZXJ2ZXIpOworfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVy
OjpyZW1vdmVPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImIG9ic2VydmVyKQor
eworICAgIG1fb2JzZXJ2ZXJzLnJlbW92ZShvYnNlcnZlcik7Cit9CisKK3ZvaWQgV2ViUGVybWlz
c2lvbkNvbnRyb2xsZXI6OnBlcm1pc3Npb25DaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9y
aWdpbiYgb3JpZ2luLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3Jp
cHRvciwgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHN0YXRlKQoreworICAgIGZvciAoYXV0byYg
b2JzZXJ2ZXIgOiBtX29ic2VydmVycykgeworICAgICAgICBpZiAob2JzZXJ2ZXIub3JpZ2luKCkg
PT0gb3JpZ2luICYmIG9ic2VydmVyLmRlc2NyaXB0b3IoKSA9PSBkZXNjcmlwdG9yKQorICAgICAg
ICAgICAgb2JzZXJ2ZXIuc3RhdGVDaGFuZ2VkKHN0YXRlKTsKKyAgICB9Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wYzZkNTEwYzcxMGU1M2U5NmFjNmI0ODI1NzdkM2U0MjdhZGJiMWRkCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Np
b25Db250cm9sbGVyLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uQ29udHJvbGxlci5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvUGVybWlzc2lvbkRlc2NyaXB0b3IuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K2NsYXNzIFdlYlBlcm1pc3Npb25Db250cm9sbGVyIGZpbmFsIDogcHVibGljIFdlYkNvcmU6OlBl
cm1pc3Npb25Db250cm9sbGVyIHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBXZWJQZXJtaXNzaW9u
Q29udHJvbGxlcihXZWJQYWdlJik7CisKK3ByaXZhdGU6CisgICAgLy8gV2ViQ29yZTo6UGVybWlz
c2lvbkNvbnRyb2xsZXIKKyAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgcXVlcnkoV2ViQ29y
ZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiYpIGZpbmFs
OworICAgIHZvaWQgcmVxdWVzdChXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6UGVy
bWlzc2lvbkRlc2NyaXB0b3ImJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJt
aXNzaW9uU3RhdGUpPiYmKSBmaW5hbDsKKyAgICB2b2lkIGFkZE9ic2VydmVyKFdlYkNvcmU6OlBl
cm1pc3Npb25PYnNlcnZlciYpIGZpbmFsOworICAgIHZvaWQgcmVtb3ZlT2JzZXJ2ZXIoV2ViQ29y
ZTo6UGVybWlzc2lvbk9ic2VydmVyJikgZmluYWw7CisKKyAgICBXZWJDb3JlOjpQZXJtaXNzaW9u
U3RhdGUgcXVlcnlDYWNoZShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBjb25zdCBXZWJD
b3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYpOworICAgIHZvaWQgdXBkYXRlQ2FjaGUoY29uc3Qg
V2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0
b3ImLCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpOworICAgIHZvaWQgdHJ5UHJvY2Vzc2luZ1Jl
cXVlc3QoKTsKKyAgICB2b2lkIHBlcm1pc3Npb25DaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkNsaWVu
dE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiwgV2ViQ29yZTo6
UGVybWlzc2lvblN0YXRlKTsKKworICAgIFdlYWtQdHI8V2ViUGFnZT4gbV9wYWdlOworICAgIFdl
YWtIYXNoU2V0PFdlYkNvcmU6OlBlcm1pc3Npb25PYnNlcnZlcj4gbV9vYnNlcnZlcnM7CisKKyAg
ICB1c2luZyBQZXJtaXNzaW9uRW50cnkgPSBzdGQ6OnBhaXI8V2ViQ29yZTo6UGVybWlzc2lvbkRl
c2NyaXB0b3IsIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZT47CisgICAgSGFzaE1hcDxXZWJDb3Jl
OjpDbGllbnRPcmlnaW4sIFZlY3RvcjxQZXJtaXNzaW9uRW50cnk+PiBtX2NhY2hlZFBlcm1pc3Np
b25FbnRyaWVzOworCisgICAgc3RydWN0IFBlcm1pc3Npb25SZXF1ZXN0IHsKKyAgICAgICAgV2Vi
Q29yZTo6Q2xpZW50T3JpZ2luIG9yaWdpbjsKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbkRl
c2NyaXB0b3IgZGVzY3JpcHRvcjsKKyAgICAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJD
b3JlOjpQZXJtaXNzaW9uU3RhdGUpPiBjb21wbGV0aW9uSGFuZGxlcjsKKyAgICAgICAgYm9vbCBp
c1dhaXRpbmdGb3JSZXBseSB7IGZhbHNlIH07CisgICAgfTsKKyAgICBEZXF1ZTxQZXJtaXNzaW9u
UmVxdWVzdD4gbV9yZXF1ZXN0czsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMDRlM2FlMjAx
NDNmMmYzZGJkMjA2NGEzMDJmMDFiODRlZGNhOTY0NS4uNzExZWQ4ZTkyMjc2ZWI5MzFmNTQ0NWM3
NGZkNmMzYjBlOWViNTQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKQEAgLTEyMSw2ICsxMjEsNyBAQAogI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1l
c3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGF5bWVudENvb3JkaW5hdG9yLmgiCiAjaW5jbHVkZSAi
V2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmgiCisjaW5jbHVkZSAiV2ViUGVybWlzc2lvbkNv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJXZWJQbHVnaW5JbmZvUHJvdmlkZXIuaCIKICNpbmNsdWRl
ICJXZWJQb3B1cE1lbnUuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgi
CkBAIC01NjMsNyArNTY0LDggQEAgV2ViUGFnZTo6V2ViUGFnZShQYWdlSWRlbnRpZmllciBwYWdl
SUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgICAgICBtYWtl
VW5pcXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xpZW50PihtX21haW5GcmFtZS5jb3B5UmVmKCkpLAog
ICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYlNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+KG1faWRl
bnRpZmllciksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPigq
dGhpcyksCi0gICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmJyb2FkY2FzdENoYW5uZWxS
ZWdpc3RyeSgpCisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmJyb2FkY2FzdENoYW5u
ZWxSZWdpc3RyeSgpLAorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYlBlcm1pc3Npb25Db250cm9s
bGVyPigqdGhpcykKICAgICApOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9
IG5ldyBXZWJDaHJvbWVDbGllbnQoKnRoaXMpOwogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0Rpc3BsYXlS
ZWZyZXNoTW9uaXRvck1hYy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCmluZGV4IGJiZjhkMWJiOGNlNmMzMDFkYzNlZjIw
MTk1M2Q4MmZlYzA1ZWRkNTguLjU2YmM4MWM3OGYzNGFhNDUzNDc5MzVkMjcxZWM1NzBjM2ZjN2Vl
NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNw
bGF5UmVmcmVzaE1vbml0b3JNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmgKQEAgLTUwLDcgKzUwLDcgQEAgcHJp
dmF0ZToKICAgICBib29sIHN0YXJ0Tm90aWZpY2F0aW9uTWVjaGFuaXNtKCkgZmluYWw7CiAgICAg
dm9pZCBzdG9wTm90aWZpY2F0aW9uTWVjaGFuaXNtKCkgZmluYWw7CiAKLSAgICB2b2lkIGFkanVz
dFByZWZlcnJlZEZyYW1lc1BlclNlY29uZChGcmFtZXNQZXJTZWNvbmQpIGZpbmFsOworICAgIHZv
aWQgYWRqdXN0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKFdlYkNvcmU6OkZyYW1lc1BlclNlY29u
ZCkgZmluYWw7CiAKICAgICBEaXNwbGF5TGlua09ic2VydmVySUQgbV9vYnNlcnZlcklEOwogICAg
IHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpSdW5Mb29wT2JzZXJ2ZXI+IG1fcnVuTG9vcE9ic2Vy
dmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGNk
NmE1ZjU3Mjk5NGY3ZWM0ZmJkZTc2MzdkZjg2N2JkNTJmM2M4MzQuLjQ4MDNlYmM5ZWM3N2U4OGUx
NWIyOGUyYmVkYzE2ZDY3M2E3Mjg5Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KQEAgLTE5NSw2ICsxOTUsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9QYWdl
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2VDb25maWd1cmF0aW9uLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1BhdGhVdGlsaXRpZXMuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUGVybWlzc2lvbkNvbnRyb2xs
ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMuaD4KICNpbXBv
cnQgPFdlYkNvcmUvUGxhdGZvcm1TY3JlZW4uaD4KICNpbXBvcnQgPFdlYkNvcmUvUHJvZ3Jlc3NU
cmFja2VyLmg+CkBAIC0xNTM2LDcgKzE1MzcsOCBAQCBzdGF0aWMgdm9pZCBXZWJLaXRJbml0aWFs
aXplR2FtZXBhZFByb3ZpZGVySWZOZWNlc3NhcnkoKQogICAgICAgICBtYWtlVW5pcXVlUmVmPFdl
YkZyYW1lTG9hZGVyQ2xpZW50PigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1
bW15U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxX
ZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCksCi0gICAgICAgIFdlYkJyb2FkY2FzdENo
YW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoW1tzZWxmIHByZWZlcmVuY2VzXSBwcml2YXRlQnJv
d3NpbmdFbmFibGVkXSkKKyAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRP
ckNyZWF0ZShbW3NlbGYgcHJlZmVyZW5jZXNdIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdKSwKKyAg
ICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpEdW1teVBlcm1pc3Npb25Db250cm9sbGVyPigp
CiAgICAgKTsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBwYWdlQ29uZmlndXJhdGlv
bi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KHNlbGYpOwpAQCAtMTgxNCw3ICsx
ODE2LDggQEAgc3RhdGljIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUdhbWVwYWRQcm92aWRlcklmTmVj
ZXNzYXJ5KCkKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJGcmFtZUxvYWRlckNsaWVudD4oKSwK
ICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpEdW1teVNwZWVjaFJlY29nbml0aW9uUHJv
dmlkZXI+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TWVkaWFSZWNvcmRlclBy
b3ZpZGVyPigpLAotICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmdldE9yQ3Jl
YXRlKFtbc2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0pCisgICAgICAg
IFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoW1tzZWxmIHByZWZlcmVu
Y2VzXSBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSksCisgICAgICAgIG1ha2VVbmlxdWVSZWY8V2Vi
Q29yZTo6RHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlcj4oKQogICAgICk7CiAgICAgcGFnZUNvbmZp
Z3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudElPUyhzZWxmKTsKICNp
ZiBFTkFCTEUoRFJBR19TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGYxMzVmZGMzMDk3NTYwOTc2ZGE4MDhjOTk4
OWYwMDczYmM5MWQ0ZTkuLjg4YWJiMDNiNmI2ZjM4MmUxYjMxNmJmOWJhYzJmM2NmNDA4NTI0MDIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wOC0yNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1
QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRl
dGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93azIvVGVz
dEV4cGVjdGF0aW9uczoKKwogMjAyMS0wOC0yNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGluIEdyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IDhhNjY1MGY4ODI4NDk5ODAyYTlkMjBlZmU2OWI1NDMzN2I2NDRiOGYuLjM5YWUy
OGY3NDQzYjRkNDNjMTE0NDc2OTEzZWRmZjQxMDM2MDQ1YTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA4LTI2ICBTaWh1aSBMaXUgIDxzaWh1
aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdHVicyBmb3IgUGVybWlzc2lvbnMgQVBJ
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzMzkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndv
cmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Np
b25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmli
dXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1p
c3Npb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dy
b3VuZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA4LTI1ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW01hYyB3azJdIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3Jl
cG9ydGluZy10by1mcmFtZS1vd25lci5odHRwcy5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggNmJkZTJmOTRlYWQyMTdiODY0NDMyNTcxOGMxZjRjNjIxMWYyNzY3
MC4uOGJjOTM2OGQ4YThlZDI4YmFhYTU0MTNkYmY4YWJmMmMxNmZkMTkxZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCkBAIC0xOTYsNiArMTk2LDcgQEAgZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9wZXJtaXNz
aW9uLWVycm9yLmh0bWwgWyBTa2lwIF0KIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vc3RhcnQtcmVj
b2duaXRpb24tdGhlbi1zdG9wLmh0bWwgWyBTa2lwIF0KIGZhc3Qvc3BlZWNocmVjb2duaXRpb24v
c3RhcnQtc2Vjb25kLXJlY29nbml0aW9uLmh0bWwgWyBTa2lwIF0KIGZhc3Qvc3BlZWNocmVjb2du
aXRpb24vaW9zLyBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJt
aXNzaW9ucy8gWyBTa2lwIF0KIAogIyBhcHAtcHJpdmFjeS1yZXBvcnQgdGVzdHMgcmVseSBvbiBX
ZWJLaXRBZGRpdGlvbnMKIGh0dHAvdGVzdHMvYXBwLXByaXZhY3ktcmVwb3J0LyBbIFNraXAgXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55LWV4
cGVjdGVkLnR4dAppbmRleCBiODRkNDBkNzY1ZjIwNDA4M2RlZjhiNjc3MDBjNDIwNDRiMDM0Njk4
Li4wYzRiYWEwY2ZlZTAxZjk0Y2VhZjRhZjdmYjM4Zjg5YjRmYjZiYmU3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lk
bGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4
dApAQCAtMTksMjkgKzE5LDI5IEBAIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmln
YXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5j
bHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdv
cmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JPbkxpbmU6IG1lbWJlciBuYW1lcyBhcmUg
dW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JDb25jdXJyZW50
SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJt
aXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2lu
ZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25T
dGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlM
IFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4
cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Np
b25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1p
c3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJj
b25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBl
cm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
IEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkg
IlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBzdGF0ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVy
bWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTog
YXR0cmlidXRlIG9uY2hhbmdlIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJt
aXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgbXVzdCBiZSBwcmlt
YXJ5IGludGVyZmFjZSBvZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0
ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290
IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25T
dGF0dXMiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9l
cXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0
ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFi
bGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBw
ZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RhdGUiIHdpdGggdGhlIHBy
b3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVh
dGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBlcm1pc3Npb25T
dGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
b25jaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQg
ZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9i
amVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0
dXMiCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNz
aW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJt
aXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBl
cm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVy
dHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Np
b25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlz
c2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAi
UGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRp
b24gcXVlcnkob2JqZWN0KSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25z
IiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Yg
bmF2aWdhdG9yLnBlcm1pc3Npb25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3Qg
ZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBTdHJpbmdpZmljYXRp
b24gb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBv
YmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBQZXJtaXNz
aW9ucyBpbnRlcmZhY2U6IG5hdmlnYXRvci5wZXJtaXNzaW9ucyBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgInF1ZXJ5KG9iamVjdCkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IHdy
b25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgot
RkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGNhbGxpbmcgcXVlcnkob2JqZWN0KSBvbiBuYXZp
Z2F0b3IucGVybWlzc2lvbnMgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVF
cnJvciBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3Qi
IGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRl
IHBlcm1pc3Npb25zIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUg
YSBwcm9wZXJ0eSAicGVybWlzc2lvbnMiIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIE5h
dmlnYXRvciBpbnRlcmZhY2U6IG5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgInBlcm1p
c3Npb25zIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJw
ZXJtaXNzaW9ucyIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorUEFTUyBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBv
YmplY3QKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFT
UyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3Ry
dWN0b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2Nv
cGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgc3RhdGUKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNo
YW5nZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Yg
cGVybWlzc2lvblN0YXR1cworUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgcGVybWlzc2lvblN0YXR1
cworUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0
IGluaGVyaXQgcHJvcGVydHkgInN0YXRlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBQZXJt
aXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9uY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBQZXJtaXNzaW9ucyBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQ
QVNTIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1pc3Npb25z
IGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBQ
ZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUGVybWlz
c2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25z
IGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5KG9iamVjdCkKK1BBU1MgUGVybWlzc2lvbnMgbXVz
dCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMKK1BBU1MgU3Ry
aW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5wZXJtaXNzaW9ucworUEFTUyBQZXJtaXNzaW9ucyBp
bnRlcmZhY2U6IG5hdmlnYXRvci5wZXJtaXNzaW9ucyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInF1
ZXJ5KG9iamVjdCkiIHdpdGggdGhlIHByb3BlciB0eXBlCitQQVNTIFBlcm1pc3Npb25zIGludGVy
ZmFjZTogY2FsbGluZyBxdWVyeShvYmplY3QpIG9uIG5hdmlnYXRvci5wZXJtaXNzaW9ucyB3aXRo
IHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yCitQQVNTIE5hdmlnYXRvciBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBwZXJtaXNzaW9ucworUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNl
OiBuYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJwZXJtaXNzaW9ucyIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDUyNTYwMmQxNmQ3
ZjBmNTRjYThlZjAzZjdmY2Y1YjRlZWVmMzE2OTcuLjA2MmIyOTU3ZjMxNTUxYjM1MmE0OTU0MTZj
M2Y0YWJmYTU3OTllNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bl
cm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTE5LDI1ICsx
OSwyNSBAQCBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JJRDogbWVtYmVy
IG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRv
ckxhbmd1YWdlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3Ig
aW5jbHVkZXMgTmF2aWdhdG9yT25MaW5lOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBX
b3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJlOiBtZW1i
ZXIgbmFtZXMgYXJlIHVuaXF1ZQotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIg
ZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlz
c2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBz
ZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3Rh
dHVzIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0
eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
IlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBt
aXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHBy
b3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVz
IiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVz
IHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3Rh
dHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
c3RhdGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMi
IG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNo
YW5nZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIg
bWlzc2luZworUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmpl
Y3QgbmFtZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Npb25T
dGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25T
dGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25T
dGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3RhdGUKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNoYW5nZQogRkFJTCBQZXJtaXNzaW9uU3RhdHVzIG11c3Qg
YmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgcGVybWlzc2lvblN0YXR1cyBhc3NlcnRfZXF1YWxzOiBV
bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwg
YnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJt
aXNzaW9uU3RhdHVzIgogRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgcGVybWlzc2lvblN0YXR1cyBh
c3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0
IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgogRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0YXRlIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVu
IGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgogRkFJTCBQZXJt
aXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9uY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4
cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0
IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNz
aW9uU3RhdHVzIgotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAi
UGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBs
ZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwot
RkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVk
IHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQ
ZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlM
IFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIg
ZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25z
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBz
ZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJv
cGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTog
b3BlcmF0aW9uIHF1ZXJ5KG9iamVjdCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJt
aXNzaW9ucyIgbWlzc2luZworUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIFBlcm1pc3Npb25zIGludGVy
ZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbmFt
ZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
ICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVu
c2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogb3BlcmF0aW9u
IHF1ZXJ5KG9iamVjdCkKIEZBSUwgUGVybWlzc2lvbnMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFj
ZSBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9i
amVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCiBGQUlMIFN0cmluZ2lm
aWNhdGlvbiBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlw
ZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCiBGQUlMIFBl
cm1pc3Npb25zIGludGVyZmFjZTogbmF2aWdhdG9yLnBlcm1pc3Npb25zIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAicXVlcnkob2JqZWN0KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFs
czogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmlu
ZWQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Np
b24tZXhwZWN0ZWQudHh0CmluZGV4IGMzZTg2MDVmODcyODdhODAzODFmNWRiODA2Y2RkMDVhMjU1
NjVkZGUuLmMyZmQ2NWU4ZDQwMDJhNzIzMDE4N2E2MWY1MWMyODJlZmMxYzZiZWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lv
bnMvbmZjLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24tZXhwZWN0
ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgV2ViIE5GQyBQZXJtaXNzaW9uLiB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Np
b25zLnF1ZXJ5JykKK1BBU1MgVGVzdCBXZWIgTkZDIFBlcm1pc3Npb24uCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
cGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1Yi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bl
cm1pc3Npb25zL3Blcm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRw
cy5zdWItZXhwZWN0ZWQudHh0CmluZGV4IGU0MmRkYTI2MTJmMjU3YjdmMDJiYmVlZjY1NjMzYjI1
YjczNjQ3YTUuLmM0YmEyNDkyZTk5MTk5ZDY2NjA1YThjMDFhYTAxNTFiOTYyNDYwNzggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlz
c2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1
Yi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGljeS1hdHRy
aWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBQZXJt
aXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93PSJnZW9sb2NhdGlvbiIgaW4gc2Ft
ZS1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1
ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJwcm9tcHQiIGJ1dCBnb3QgKG9i
amVjdCkgbnVsbAotRkFJTCBQZXJtaXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93
PSJnZW9sb2NhdGlvbiIgaW4gY3Jvc3Mtb3JpZ2luIGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5h
dmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9jYXRpb24iKSBleHBlY3RlZCAoc3RyaW5n
KSAicHJvbXB0IiBidXQgZ290IChvYmplY3QpIG51bGwKLUZBSUwgUGVybWlzc2lvbi5zdGF0ZSBp
cyAicHJvbXB0IiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0
b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgKHN0cmluZykgInBy
b21wdCIgYnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIFBlcm1pc3Npb24uc3RhdGUgaXMgImRl
bmllZCIgaW4gY3Jvc3Mtb3JpZ2luIGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5w
ZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9jYXRpb24iKSBleHBlY3RlZCAoc3RyaW5nKSAiZGVuaWVk
IiBidXQgZ290IChvYmplY3QpIG51bGwKK1BBU1MgUGVybWlzc2lvbnMuc3RhdGUgaXMgInByb21w
dCIgd2l0aCBhbGxvdz0iZ2VvbG9jYXRpb24iIGluIHNhbWUtb3JpZ2luIGlmcmFtZXMuCitQQVNT
IFBlcm1pc3Npb25zLnN0YXRlIGlzICJwcm9tcHQiIHdpdGggYWxsb3c9Imdlb2xvY2F0aW9uIiBp
biBjcm9zcy1vcmlnaW4gaWZyYW1lcy4KK1BBU1MgUGVybWlzc2lvbi5zdGF0ZSBpcyAicHJvbXB0
IiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLgorRkFJTCBQZXJtaXNzaW9uLnN0YXRlIGlzICJkZW5p
ZWQiIGluIGNyb3NzLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVy
bWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgImRlbmllZCIgYnV0IGdvdCAi
cHJvbXB0IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9u
cy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dAppbmRleCAxMWZiMWEwZDYxMjRk
YTk0ZTAwMWU3ZGQ5MjNlMDE3Y2U2OWU3OGJhLi4wZTRlYmNjNDdjY2I5Mzg5MDhlY2U4NGNjNjhm
MTUzZDA4NTM3OWE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvcGVybWlzc2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwz
IEBACiAKLUZBSUwgVGVzdCBQZXJtaXNzaW9uU3RhdHVzJ3MgbmFtZSBhdHRyaWJ1dGUuIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5wZXJt
aXNzaW9ucy5xdWVyeScpIgorUEFTUyBUZXN0IFBlcm1pc3Npb25TdGF0dXMncyBuYW1lIGF0dHJp
YnV0ZS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CmluZGV4IDg1Yzdi
YmE1YzJiMjQ1OTNmNTFlMjE0NmJlMjViZDE2ZmEwNWZmNTguLjhlMGU3MDJkMWYyZGQ0OGNhNjk5
OWNhNWZiOTRlNTEyYTY0NWJlOWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNz
aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3Rl
ZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCAic2NyZWVuLXdha2UtbG9jayIgUGVy
bWlzc2lvbi4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAn
bmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykiCitQQVNTIFRlc3QgInNjcmVlbi13YWtlLWxv
Y2siIFBlcm1pc3Npb24uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1p
c3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBl
Y3RlZC50eHQKaW5kZXggOWE5NDI2OWZiNzQzOGZjNjNiZTE4ZDAwY2QyOTk3Y2M1OWJhOGRkNi4u
Nzg1YmI1ODVmNTE1OTVmZGVhMDUyMzQxNjcyMzgxM2M4ZGIyMzE1OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0
LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tn
cm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZB
SUwgVGVzdCBCYWNrZ3JvdW5kIEZldGNoIFBlcm1pc3Npb24uIHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKQorUEFTUyBU
ZXN0IEJhY2tncm91bmQgRmV0Y2ggUGVybWlzc2lvbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlv
ZGljLWJhY2tncm91bmQtc3luYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2Rp
Yy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXggMzE2ZDM1MWEw
ZTA3NTRiMWU1MDliZjNjYTBhZGE0YjY0ZGUzNTZhNy4uNGU5ZjM3YTg3NTZlYjE3YTJmYjg0ZjEx
NzAyYTE0M2E4NmI3MDk5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3lu
Yy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dyb3VuZC1z
eW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3Qg
UGVyaW9kaWMgQmFja2dyb3VuZCBTeW5jIFBlcm1pc3Npb24uIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeScp
IgorRkFJTCBUZXN0IFBlcmlvZGljIEJhY2tncm91bmQgU3luYyBQZXJtaXNzaW9uLiBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IFR5cGUgZXJyb3IiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
ZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNy
YXNoLWV4cGVjdGVkLnR4dAppbmRleCBkZjkwMTA5MDRkNTc3ZTg1YTA3NjY2N2E5MzdhZDc3ZTZk
OGY1OTU3Li5jNjhkM2NhMGIzMGNkY2VlN2RlMWViN2JlNDEzNjlhMGJlZGI4M2JhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRh
Y2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBA
IC0xOCw2ICsxOCw3IEBAIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBpcyBPSwogbmF2aWdh
dG9yLm1lZGlhU2Vzc2lvbiBpcyBPSwogbmF2aWdhdG9yLm1pbWVUeXBlcyBpcyBPSwogbmF2aWdh
dG9yLm9uTGluZSBpcyBPSworbmF2aWdhdG9yLnBlcm1pc3Npb25zIGlzIE9LCiBuYXZpZ2F0b3Iu
cGxhdGZvcm0gaXMgT0sKIG5hdmlnYXRvci5wbHVnaW5zIGlzIE9LCiBuYXZpZ2F0b3IucHJvZHVj
dCBpcyBPSwpAQCAtNTEsNiArNTIsNyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgaXMg
T0sKIG5hdmlnYXRvci5tZWRpYVNlc3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlwZXMgaXMg
T0sKIG5hdmlnYXRvci5vbkxpbmUgaXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyBPSwog
bmF2aWdhdG9yLnBsYXRmb3JtIGlzIE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwogbmF2aWdh
dG9yLnByb2R1Y3QgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggNmNlZTBmYTJkNGQ1ZGZmNmI5ZDYxODI3ZWVlM2U5MTRkOTc5Yjk0NS4uNDA4Yzhi
NDFiYzQzY2ExYjMzZjA2NDc5MTBhMmJhNWM2NjMzNmRiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTg2MCw0ICs4NjAsNSBAQCBmYXN0L3NwZWVjaHJl
Y29nbml0aW9uL3Blcm1pc3Npb24tZXJyb3IuaHRtbCBbIFBhc3MgXQogZmFzdC9zcGVlY2hyZWNv
Z25pdGlvbi9zdGFydC1yZWNvZ25pdGlvbi10aGVuLXN0b3AuaHRtbCBbIFBhc3MgXQogZmFzdC9z
cGVlY2hyZWNvZ25pdGlvbi9zdGFydC1zZWNvbmQtcmVjb2duaXRpb24uaHRtbCBbIFBhc3MgXQog
ZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1lbnRlci13aGlsZS1leGl0aW5nLmh0bWwgWyBQYXNzIF0K
K2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvIFsgUGFzcyBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436547</attachid>
            <date>2021-08-26 12:25:37 -0700</date>
            <delta_ts>2021-08-26 12:40:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210826122535.patch</filename>
            <type>text/plain</type>
            <size>122482</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLjAwYTQ0NjI0ZDI5YWZhNmM4YmNjZTcxM2MyZWU4N2U5Zjc5NTk4
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIxLTA4LTI1
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92
ZSBzb21lIGlPUy1zcGVjaWZpYyBjb21waWxlLXRpbWUgZ3VhcmRzIHRoYXQgYXJlIG5vIGxvbmdl
ciBuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYTkzNTJkZDhlZjlkY2Q5NWZiZDY3MTJiNTRlYjRlZWZm
ZWQyNWMyLi5kODI4YTAwNWQ2NDhiMDgxOWJhMGI5OTdiY2FhMGY1N2I5MjkyNzVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNjkgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiaW5kaW5ncyBj
b2RlIGFuZCBhIGZlYXR1cmUgZmxhZyBmb3IgUGVybWlzc2lvbnMgQVBJLgorICAgICAgICBTcGVj
OiBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLiBSZWJhc2VsaW5lIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9kdWxlcy9w
ZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAg
ICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6b3BlcmF0b3I9
PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yOjpkZWNvZGUp
OgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmg6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZl
ci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OlBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6flBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6c3RhdGVDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUg
Y29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uczo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpQZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJtaXNzaW9uczo6bmF2aWdhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25z
OjpxdWVyeSk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbDogQWRk
ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIGRv
bS9UYXNrU291cmNlLmg6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMpOgorICAgICAg
ICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX3Blcm1pc3Npb25Db250cm9s
bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnBlcm1pc3Npb25Db250cm9sbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Om1faHR0cHNVcGdyYWRlRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
ICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24pOgor
ICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKKwogMjAyMS0wOC0yNSAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGlu
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggNDI0MWIyZTZmYTc4NTRmMTVmZDMzYzZjYTljN2ZlYjM3YmMxZGIyMS4uMDM2Yzkz
YjFjMmI5YzE0NzkwZTI1OTVmM2IyOGVmZWVlODRmNGMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MyBAQAorMjAyMS0wOC0yNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2V0IHVwIGJhc2ljIGluZnJhc3RyY3R1cmUgb2Yg
cGVybWlzc2lvbiBnZXR0aW5nIGFuZCBzZXR0aW5nLgorCisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBl
cm1pc3Npb25Db250cm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRy
b2xsZXI6OnF1ZXJ5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6
OnJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVl
cnlDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRh
dGVDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQ
cm9jZXNzaW5nUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjphZGRPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjpyZW1vdmVPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250
cm9sbGVyOjpwZXJtaXNzaW9uQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fYXBwSGlnaGxp
Z2h0c1Zpc2libGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFjLmg6CisKIDIwMjEtMDgtMjYgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25v
cmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW2N1cmxdIFJFR1JFU1NJT04ocjI4MTE1OCk6
IGZldGNoKCdodHRwOi8vbG9jYWxob3N0LycpIGZyb20gYWJvdXQ6YmxhbmsgZG9lc24ndCBlbWl0
IHRoZSBjb25zb2xlIGVycm9yIG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRl
eCA0NWE1NDg2ZTA1ODA1ZDk3YmMxZTQ4YjQ0ZjkzZGEzMDMyOGE2YTFkLi5mZjc3YjQ5NWE4MmVj
OTI4MzQ5MTU4NGQ2MWFkZDJkZjA5NDg5NzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5h
bWU6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IGluaXRTaW1wbGVIVE1MRG9jdW1l
bnRXaXRoU3R5bGU6ZnJhbWU6cHJlZmVyZW5jZXM6Z3JvdXBOYW1lOl0pOgorCiAyMDIxLTA4LTI0
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gSW1wbGVt
ZW50IHByb2Nlc3Mtc3dhcHBpbmcgYmFzZWQgb24gQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xpY3kg
SFRUUCBoZWFkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9X
ZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZl
cmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXggMTg1YTVhYzBmNDU0
Yzc2YzAzNDc5MmFkMTg1NzYxZmNjYTY5NDk5MS4uNTU1NDYwMGRiYzY2NThmYTFjYWIyZDA1OGNk
NTM1ZGFmNTI5MzFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2Vz
L1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKQEAgLTg4MSw2ICs4
ODEsMTggQEAgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ1NlbnNpdGl2ZVByb3BlcnRpZXNFbmFi
bGVkOgogICAgIFdlYkNvcmU6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogCitQZXJtaXNzaW9uc0FQ
SUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJQZXJtaXNzaW9u
cyBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQZXJtaXNzaW9ucyBB
UEkiCisgIGRlZmF1bHRWYWx1ZToKKyAgICBXZWJLaXRMZWdhY3k6CisgICAgICBkZWZhdWx0OiBm
YWxzZQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViQ29yZToKKyAg
ICAgIGRlZmF1bHQ6IGZhbHNlCisKIFByaXZhdGVDbGlja01lYXN1cmVtZW50RGVidWdNb2RlRW5h
YmxlZDoKICAgdHlwZTogYm9vbAogICBodW1hblJlYWRhYmxlTmFtZTogIlByaXZhdGUgQ2xpY2sg
TWVhc3VyZW1lbnQgRGVidWcgTW9kZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYmJiODQyYTUz
OWExMDg3YzllMWRiNDYzZDAxOWRkMmIxMjMxNDJjOS4uMTc0Y2QxYmQwM2U4N2M3YzI2ZmVlNTEz
NmE4ZWEzMjUwMzg1OTlkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ2MCw2ICs0NjAsMTMg
QEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L1BheW1lbnRTaGlwcGluZ1R5cGUuaWRsCiAgICAgTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50VmFsaWRhdGlvbkVycm9ycy5pZGwKIAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2
aWdhdG9yK1Blcm1pc3Npb25zLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bkRlc2NyaXB0b3IuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5p
ZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwKKyAgICBNb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9ucy5pZGwKKwogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1
bWVudCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9E
b2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGlj
dHVyZWlucGljdHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDM5YjJiMzAwNGU0
YzU3OTQzN2U2NWFjYTk3MzI3Yzc4ZDRkNzQ1ZGUuLjUxMWI1MTMxMjAwYWJlYzgzYmU0OTA3YTdi
ZTQxOTIzYTYyZjM2OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdApAQCAtMzg4LDYgKzM4OCwxMiBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdUeXBlLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVycm9ycy5p
ZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Np
b25zLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVz
Y3JpcHRvci5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bk5hbWUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25T
dGF0ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMu
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGlj
dHVyZUluUGljdHVyZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVy
ZS9Eb2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50Lmlk
bApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApp
bmRleCAxOTY3MWY3NTA2ZDZhNzkzNzRjNWVhNDVhYzc3MWZjN2YxYjc5NTJiLi45YjQ4NGFiYTQ4
YzJjNWNmYzYwYWNlZWVjMjkzZWJjYTljMzk3MWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTM3Nyw2ICsxMzc3LDggQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVk
aWFEZXZpY2VzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOYXZpZ2F0b3IrTWVkaWFEZXZpY2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vzc2lvbi5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vz
c2lvbi5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05h
dmlnYXRvcitQZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1Blcm1pc3Npb25zLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dlYkRyaXZlci5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dl
YkRyaXZlci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U05hdmlnYXRvcitXZWJYUi5jcHAKQEAgLTE1ODMsNiArMTU4NSwxNiBAQCAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZUNvbnN0cmFpbnRz
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJp
b2RpY1dhdmVDb25zdHJhaW50cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uRGVzY3Jp
cHRvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UGVybWlzc2lvbkRlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uTmFtZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbk5hbWUuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdGUuY3BwCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0
ZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1p
c3Npb25TdGF0dXMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1Blcm1pc3Npb25TdGF0dXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbnMuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5Q
aWN0dXJlV2luZG93LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUGxheWJhY2tEaXJlY3Rpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCBkNjRlNjVlODZlNWUxMTQyNjY3YTllMzgyNzY4M2E5NjkyZjI3YWYxLi5mOWVlNjQyOGJh
MGE1NGQ1NGMwMjU3YWE2ZDZhMDAwMWUyZTQyMWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKQEAgLTMyNCw2ICszMjQsMTIgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ1R5
cGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFZh
bGlkYXRpb25FcnJvcnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMv
TmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGljdHVyZUluUGljdHVyZS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50K1Bp
Y3R1cmVJblBpY3R1cmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlucGlj
dHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5k
ZXggZWIwN2I4MGM5OTMzZDY5YThjMzYzMTkxOGM3NWRiZTRlMzdhOTJiOC4uYzFiN2EzZTJmNTEx
MmU2OTI1NzdmOGY0NTdiOGJmZGM1MjIwZWI5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
SGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMjks
NiArMTI5LDE0IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBN
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbi5oCiAgICAgTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oCiAKKyAgICBN
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgKKyAgICBNb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25OYW1lLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNl
cnZlci5oCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaAorICAgIE1v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5oCisgICAgTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9ucy5oCisKICAgICBNb2R1bGVzL3BsdWdpbnMvUGx1Z2luUmVwbGFjZW1l
bnQuaAogICAgIE1vZHVsZXMvcGx1Z2lucy9Zb3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQuaAogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQ
ZXJtaXNzaW9ucy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmln
YXRvcitQZXJtaXNzaW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBiMTI3ZTdmM2ExYzU2NjZjZDBkMGM4
OGZlOTExZTk2YzgzNGY2NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbApAQCAtMCwwICsxLDMzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNuYXZp
Z2F0b3ItYW5kLXdvcmtlcm5hdmlnYXRvci1leHRlbnNpb24KKworWworICAgIEVuYWJsZWRCeVNl
dHRpbmc9UGVybWlzc2lvbnNBUEksCisgICAgSW1wbGVtZW50ZWRCeT1OYXZpZ2F0b3JQZXJtaXNz
aW9ucworXSBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgeworICAgIFtTYW1lT2JqZWN0XSBy
ZWFkb25seSBhdHRyaWJ1dGUgUGVybWlzc2lvbnMgcGVybWlzc2lvbnM7Cit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9u
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1p
c3Npb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTFmNTU1ODg2ZDhlNzFhMzQ5ZWU3NWJmM2M0MTZmMDJm
MWM0N2FiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JQZXJtaXNzaW9ucy5o
IgorCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbnMuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVy
bWlzc2lvbnMoTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCisgICAgOiBtX25hdmlnYXRvcihuYXZpZ2F0
b3IpCit7Cit9CisKK1JlZlB0cjxQZXJtaXNzaW9ucz4gTmF2aWdhdG9yUGVybWlzc2lvbnM6OnBl
cm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIHJldHVybiBOYXZpZ2F0b3JQ
ZXJtaXNzaW9uczo6ZnJvbShuYXZpZ2F0b3IpLT5wZXJtaXNzaW9ucygpOworfQorCitSZWZQdHI8
UGVybWlzc2lvbnM+IE5hdmlnYXRvclBlcm1pc3Npb25zOjpwZXJtaXNzaW9ucygpCit7CisgICAg
aWYgKCFtX3Blcm1pc3Npb25zKQorICAgICAgICBtX3Blcm1pc3Npb25zID0gUGVybWlzc2lvbnM6
OmNyZWF0ZShtX25hdmlnYXRvcik7CisKKyAgICByZXR1cm4gbV9wZXJtaXNzaW9uczsKK30KKwor
TmF2aWdhdG9yUGVybWlzc2lvbnMqIE5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKE5hdmlnYXRv
ciYgbmF2aWdhdG9yKQoreworICAgIGF1dG8qIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxOYXZp
Z2F0b3JQZXJtaXNzaW9ucyo+KFN1cHBsZW1lbnQ8TmF2aWdhdG9yPjo6ZnJvbSgmbmF2aWdhdG9y
LCBzdXBwbGVtZW50TmFtZSgpKSk7CisgICAgaWYgKCFzdXBwbGVtZW50KSB7CisgICAgICAgIGF1
dG8gbmV3U3VwcGxlbWVudCA9IG1ha2VVbmlxdWU8TmF2aWdhdG9yUGVybWlzc2lvbnM+KG5hdmln
YXRvcik7CisgICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOworICAgICAg
ICBwcm92aWRlVG8oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBw
bGVtZW50KSk7CisgICAgfQorCisgICAgcmV0dXJuIHN1cHBsZW1lbnQ7Cit9CisKK2NvbnN0IGNo
YXIqIE5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFtZSgpCit7CisgICAgcmV0dXJu
ICJOYXZpZ2F0b3JQZXJtaXNzaW9ucyI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVy
bWlzc2lvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9y
UGVybWlzc2lvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MGE3MzlkYTcxNDQwYzdhMzNiMjMyY2FlOTgzNTIw
MTlmZGE0NDRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yOworY2xhc3MgUGVybWlzc2lvbnM7CisK
K2NsYXNzIE5hdmlnYXRvclBlcm1pc3Npb25zIGZpbmFsIDogcHVibGljIFN1cHBsZW1lbnQ8TmF2
aWdhdG9yPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgZXhw
bGljaXQgTmF2aWdhdG9yUGVybWlzc2lvbnMoTmF2aWdhdG9yJik7CisKKyAgICBzdGF0aWMgUmVm
UHRyPFBlcm1pc3Npb25zPiBwZXJtaXNzaW9ucyhOYXZpZ2F0b3ImKTsKKyAgICBSZWZQdHI8UGVy
bWlzc2lvbnM+IHBlcm1pc3Npb25zKCk7CisKK3ByaXZhdGU6CisgICAgc3RhdGljIE5hdmlnYXRv
clBlcm1pc3Npb25zKiBmcm9tKE5hdmlnYXRvciYpOworICAgIHN0YXRpYyBjb25zdCBjaGFyKiBz
dXBwbGVtZW50TmFtZSgpOworCisgICAgUmVmUHRyPFBlcm1pc3Npb25zPiBtX3Blcm1pc3Npb25z
OworICAgIE5hdmlnYXRvciYgbV9uYXZpZ2F0b3I7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDgyZTEzYjgxYjVlZDQ1YjVkNGUyMzE3MDc5YTMzOTYzYjRmZjNkNQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvbkNvbnRyb2xsZXIuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlICJQZXJtaXNzaW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJQZXJtaXNz
aW9uU3RhdGUuaCIKKyNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBQZXJtaXNzaW9uT2JzZXJ2ZXI7CitzdHJ1Y3QgUGVybWlz
c2lvbkRlc2NyaXB0b3I7CisKK2NsYXNzIFBlcm1pc3Npb25Db250cm9sbGVyIDogcHVibGljIENh
bk1ha2VXZWFrUHRyPFBlcm1pc3Npb25Db250cm9sbGVyPiB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UGVybWlzc2lvbkNvbnRyb2xsZXIoKSA9
IGRlZmF1bHQ7CisgICAgdmlydHVhbCBQZXJtaXNzaW9uU3RhdGUgcXVlcnkoQ2xpZW50T3JpZ2lu
JiYsIFBlcm1pc3Npb25EZXNjcmlwdG9yJiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVz
dChDbGllbnRPcmlnaW4mJiwgUGVybWlzc2lvbkRlc2NyaXB0b3ImJiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChQZXJtaXNzaW9uU3RhdGUpPiYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGFkZE9i
c2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3Zl
T2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgPSAwOworfTsKKworY2xhc3MgRHVtbXlQZXJt
aXNzaW9uQ29udHJvbGxlciA6IHB1YmxpYyBQZXJtaXNzaW9uQ29udHJvbGxlciB7CisgICAgUGVy
bWlzc2lvblN0YXRlIHF1ZXJ5KENsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYm
KSBmaW5hbCB7IHJldHVybiBQZXJtaXNzaW9uU3RhdGU6OkRlbmllZDsgfQorICAgIHZvaWQgcmVx
dWVzdChDbGllbnRPcmlnaW4mJiwgUGVybWlzc2lvbkRlc2NyaXB0b3ImJiwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChQZXJtaXNzaW9uU3RhdGUpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBmaW5hbCB7
IGNvbXBsZXRpb25IYW5kbGVyKFBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkKTsgfQorICAgIHZvaWQg
YWRkT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgZmluYWwgeyB9CisgICAgdm9pZCByZW1v
dmVPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSBmaW5hbCB7IH0KK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTg0YjJkNGM3N2E5
OGU5NWI2NjQ5OGRjNGQwYjM4YTkwODllMWU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oCkBAIC0wLDAg
KzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlBlcm1pc3Np
b25OYW1lLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IFBlcm1pc3Npb25EZXNj
cmlwdG9yIHsKKyAgICBQZXJtaXNzaW9uTmFtZSBuYW1lOworCisgICAgYm9vbCBvcGVyYXRvcj09
KGNvbnN0IFBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yKSBjb25zdCB7IHJldHVybiBu
YW1lID09IGRlc2NyaXB0b3IubmFtZTsgfQorICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZv
aWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBz
dGF0aWMgc3RkOjpvcHRpb25hbDxQZXJtaXNzaW9uRGVzY3JpcHRvcj4gZGVjb2RlKERlY29kZXIm
KTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+IGlubGluZSB2b2lkIFBlcm1pc3Npb25E
ZXNjcmlwdG9yOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVy
IDw8IG5hbWU7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0ZDo6b3B0aW9uYWw8UGVy
bWlzc2lvbkRlc2NyaXB0b3I+IFBlcm1pc3Npb25EZXNjcmlwdG9yOjpkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlcikKK3sKKyAgICBQZXJtaXNzaW9uRGVzY3JpcHRvciByZXN1bHQ7CisgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShyZXN1bHQubmFtZSkpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNj
cmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bkRlc2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmMzZhMzJhMmNjY2QzMzk5MzliN2RlODM1ZGZl
ZGJiZjRmNTdjYzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNkaWN0ZGVmLXBl
cm1pc3Npb25kZXNjcmlwdG9yCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25z
QVBJLAorXSBkaWN0aW9uYXJ5IFBlcm1pc3Npb25EZXNjcmlwdG9yIHsKKyAgICByZXF1aXJlZCBQ
ZXJtaXNzaW9uTmFtZSBuYW1lOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Yzk5MzFmZDg0MzhkMzQz
MDE2ZjExZDJlZTRjNTczOTNkYWQ4ZTEwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oCkBAIC0wLDAgKzEsNzkgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVt
IGNsYXNzIFBlcm1pc3Npb25OYW1lIDogdWludDhfdCB7CisgICAgQWNjZWxlcm9tZXRlciwKKyAg
ICBBbWJpZW50TGlnaHRTZW5zb3IsCisgICAgQmFja2dyb3VuZEZldGNoLAorICAgIEJhY2tncm91
bmRTeW5jLAorICAgIEJsdWV0b290aCwKKyAgICBDYW1lcmEsCisgICAgRGlzcGxheUNhcHR1cmUs
CisgICAgR2VvbG9jYXRpb24sCisgICAgR3lyb3Njb3BlLAorICAgIE1hZ25ldG9tZXRlciwKKyAg
ICBNaWNyb3Bob25lLAorICAgIE1pZGksCisgICAgTmZjLAorICAgIE5vdGlmaWNhdGlvbnMsCisg
ICAgUGVyc2lzdGVudFN0b3JhZ2UsCisgICAgUHVzaCwKKyAgICBTY3JlZW5XYWtlTG9jaywKKyAg
ICBTcGVha2VyU2VsZWN0aW9uCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVz
cGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlBlcm1p
c3Npb25OYW1lPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2Vi
Q29yZTo6UGVybWlzc2lvbk5hbWUsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpB
Y2NlbGVyb21ldGVyLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6QW1iaWVudExp
Z2h0U2Vuc29yLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6QmFja2dyb3VuZEZl
dGNoLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6QmFja2dyb3VuZFN5bmMsCisg
ICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpCbHVldG9vdGgsCisgICAgICAgIFdlYkNv
cmU6OlBlcm1pc3Npb25OYW1lOjpDYW1lcmEsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25O
YW1lOjpEaXNwbGF5Q2FwdHVyZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Okdl
b2xvY2F0aW9uLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6R3lyb3Njb3BlLAor
ICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6TWFnbmV0b21ldGVyLAorICAgICAgICBX
ZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6TWljcm9waG9uZSwKKyAgICAgICAgV2ViQ29yZTo6UGVy
bWlzc2lvbk5hbWU6Ok1pZGksCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpOZmMs
CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpOb3RpZmljYXRpb25zLAorICAgICAg
ICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6UGVyc2lzdGVudFN0b3JhZ2UsCisgICAgICAgIFdl
YkNvcmU6OlBlcm1pc3Npb25OYW1lOjpQdXNoLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9u
TmFtZTo6U2NyZWVuV2FrZUxvY2ssCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpT
cGVha2VyU2VsZWN0aW9uCisgICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kM2FjZGYyOGM2NDIxMTBlYjYxMGZlOWU5ODdiNmJlNjdkZGRhNjIxCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uTmFtZS5pZGwKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8v
dzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jZW51bWRlZi1wZXJtaXNzaW9ubmFtZQorCitbCisg
ICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKK10gZW51bSBQZXJtaXNzaW9uTmFt
ZSB7CisgICAgImFjY2VsZXJvbWV0ZXIiLAorICAgICJhbWJpZW50LWxpZ2h0LXNlbnNvciIsCisg
ICAgImJhY2tncm91bmQtZmV0Y2giLAorICAgICJiYWNrZ3JvdW5kLXN5bmMiLAorICAgICJibHVl
dG9vdGgiLAorICAgICJjYW1lcmEiLAorICAgICJkaXNwbGF5LWNhcHR1cmUiLAorICAgICJnZW9s
b2NhdGlvbiIsCisgICAgImd5cm9zY29wZSIsCisgICAgIm1hZ25ldG9tZXRlciIsCisgICAgIm1p
Y3JvcGhvbmUiLAorICAgICJtaWRpIiwKKyAgICAibmZjIiwKKyAgICAibm90aWZpY2F0aW9ucyIs
CisgICAgInBlcnNpc3RlbnQtc3RvcmFnZSIsCisgICAgInB1c2giLAorICAgICJzY3JlZW4td2Fr
ZS1sb2NrIiwKKyAgICAic3BlYWtlci1zZWxlY3Rpb24iCit9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uT2JzZXJ2ZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk9ic2VydmVyLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjE3YTQxYTliM2M4OWZhMmI4ZTJiZjlkY2FlOWM2YmM2NGU2ZmY2ZQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk9i
c2VydmVyLmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXRlLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IFBlcm1pc3Npb25EZXNjcmlwdG9yOworCitj
bGFzcyBQZXJtaXNzaW9uT2JzZXJ2ZXIgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UGVybWlzc2lv
bk9ic2VydmVyPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UGVybWlzc2lvbk9ic2VydmVyKCkg
PSBkZWZhdWx0OworCisgICAgdmlydHVhbCB2b2lkIHN0YXRlQ2hhbmdlZChQZXJtaXNzaW9uU3Rh
dGUpID0gMDsKKyAgICB2aXJ0dWFsIGNvbnN0IENsaWVudE9yaWdpbiYgb3JpZ2luKCkgPSAwOwor
ICAgIHZpcnR1YWwgY29uc3QgUGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IoKSA9IDA7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lY2FkZjUy
MDFlMGMzN2IzMGY0YjcyZWEwODA0MDg1ODRiODg4NDg0Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaApAQCAtMCww
ICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvRW51
bVRyYWl0cy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgUGVybWlzc2lv
blN0YXRlIDogdWludDhfdCB7CisgICAgR3JhbnRlZCwKKyAgICBEZW5pZWQsCisgICAgUHJvbXB0
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1w
bGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZT4geworICAg
IHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25T
dGF0ZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpHcmFudGVkLAorICAgICAg
ICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkRlbmllZCwKKyAgICAgICAgV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXRlOjpQcm9tcHQKKyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25T
dGF0ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25T
dGF0ZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzU3Nzk3ODEyZDE5ODY5ZWYzZTUxYTJkYjllYThhN2FmMTY4
YWM5YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvblN0YXRlLmlkbApAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8g
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNlbnVtZGVmLXBlcm1pc3Npb25zdGF0
ZQorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKK10gZW51bSBQZXJt
aXNzaW9uU3RhdGUgeworICAgICJncmFudGVkIiwKKyAgICAiZGVuaWVkIiwKKyAgICAicHJvbXB0
IgorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvblN0YXR1cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25TdGF0dXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4M2IzNDE2OWMzZTQ4ZWVkZTY0NDdmODZk
ODY5ODcyMTgzYzAzZDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuY3BwCkBAIC0wLDAgKzEsODAgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXR1cy5o
IgorCisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgor
I2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgorI2lu
Y2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
V1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFBlcm1pc3Npb25TdGF0dXMpOworCitSZWY8UGVy
bWlzc2lvblN0YXR1cz4gUGVybWlzc2lvblN0YXR1czo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSwgUGVybWlzc2lvbkRlc2NyaXB0
b3IgZGVzY3JpcHRvcikKK3sKKyAgICBhdXRvIHN0YXR1cyA9IGFkb3B0UmVmKCpuZXcgUGVybWlz
c2lvblN0YXR1cyhjb250ZXh0LCBzdGF0ZSwgZGVzY3JpcHRvcikpOworICAgIHN0YXR1cy0+c3Vz
cGVuZElmTmVlZGVkKCk7CisgICAgcmV0dXJuIHN0YXR1czsKK30KKworUGVybWlzc2lvblN0YXR1
czo6UGVybWlzc2lvblN0YXR1cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBQZXJt
aXNzaW9uU3RhdGUgc3RhdGUsIFBlcm1pc3Npb25EZXNjcmlwdG9yIGRlc2NyaXB0b3IpCisgICAg
OiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCisgICAgLCBtX3N0YXRlKHN0YXRlKQorICAgICwg
bV9kZXNjcmlwdG9yKGRlc2NyaXB0b3IpCit7CisgICAgaWYgKGlzPERvY3VtZW50Pihjb250ZXh0
KSkgeworICAgICAgICBpZiAoYXV0byBwYWdlID0gZG93bmNhc3Q8RG9jdW1lbnQ+KCpzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkpLnBhZ2UoKSkgeworICAgICAgICAgICAgbV9jb250cm9sbGVyID0g
bWFrZVdlYWtQdHIocGFnZS0+cGVybWlzc2lvbkNvbnRyb2xsZXIoKSk7CisgICAgICAgICAgICBt
X2NvbnRyb2xsZXItPmFkZE9ic2VydmVyKCp0aGlzKTsKKyAgICAgICAgfQorICAgIH0KKworICAg
IGF1dG8qIG9yaWdpbiA9IGNvbnRleHQuc2VjdXJpdHlPcmlnaW4oKTsKKyAgICBhdXRvIG9yaWdp
bkRhdGEgPSBvcmlnaW4gPyBvcmlnaW4tPmRhdGEoKSA6IFNlY3VyaXR5T3JpZ2luRGF0YSB7IH07
CisgICAgbV9vcmlnaW4gPSBDbGllbnRPcmlnaW4geyBjb250ZXh0LnRvcE9yaWdpbigpLmRhdGEo
KSwgb3JpZ2luRGF0YSB9OworfQorCitQZXJtaXNzaW9uU3RhdHVzOjp+UGVybWlzc2lvblN0YXR1
cygpCit7CisgICAgaWYgKG1fY29udHJvbGxlcikKKyAgICAgICAgbV9jb250cm9sbGVyLT5yZW1v
dmVPYnNlcnZlcigqdGhpcyk7Cit9CisKK3ZvaWQgUGVybWlzc2lvblN0YXR1czo6c3RhdGVDaGFu
Z2VkKFBlcm1pc3Npb25TdGF0ZSBuZXdTdGF0ZSkKK3sKKyAgICBpZiAobV9zdGF0ZSAhPSBuZXdT
dGF0ZSkKKyAgICAgICAgcXVldWVUYXNrVG9EaXNwYXRjaEV2ZW50KCp0aGlzLCBUYXNrU291cmNl
OjpQZXJtaXNzaW9uLCBFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgRXZl
bnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7Cit9CisKK2NvbnN0
IGNoYXIqIFBlcm1pc3Npb25TdGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAorewor
ICAgIHJldHVybiAiUGVybWlzc2lvblN0YXR1cyI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvblN0YXR1cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uU3RhdHVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjg2YTAzZDVmYTVlOWM5NGFhZWRhODM0ZDJkYjQwNDlm
ZTRiOWI4MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXR1cy5oCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgorI2luY2x1ZGUgIkV2
ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkRlc2NyaXB0b3IuaCIKKyNpbmNsdWRl
ICJQZXJtaXNzaW9uTmFtZS5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25PYnNlcnZlci5oIgorI2lu
Y2x1ZGUgIlBlcm1pc3Npb25TdGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IFBlcm1pc3Npb25Db250cm9sbGVyOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKwor
Y2xhc3MgUGVybWlzc2lvblN0YXR1cyBmaW5hbCA6IHB1YmxpYyBQZXJtaXNzaW9uT2JzZXJ2ZXIs
IHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBSZWZDb3VudGVkPFBlcm1pc3Npb25TdGF0
dXM+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSAgeworICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoUGVybWlzc2lvblN0YXR1cyk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQ
ZXJtaXNzaW9uU3RhdHVzPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFBlcm1pc3Np
b25TdGF0ZSwgUGVybWlzc2lvbkRlc2NyaXB0b3IpOworICAgIH5QZXJtaXNzaW9uU3RhdHVzKCk7
CisKKyAgICBQZXJtaXNzaW9uU3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9
CisgICAgUGVybWlzc2lvbk5hbWUgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVzY3JpcHRvci5u
YW1lOyB9CisKKyAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRl
ZDo6ZGVyZWY7CisKKyAgICB1c2luZyBQZXJtaXNzaW9uT2JzZXJ2ZXI6OndlYWtQdHJGYWN0b3J5
OworICAgIHVzaW5nIFdlYWtWYWx1ZVR5cGUgPSBQZXJtaXNzaW9uT2JzZXJ2ZXI6OldlYWtWYWx1
ZVR5cGU7CisKK3ByaXZhdGU6CisgICAgUGVybWlzc2lvblN0YXR1cyhTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgUGVybWlzc2lvblN0YXRlLCBQZXJtaXNzaW9uRGVzY3JpcHRvcik7CisKKyAgICAv
LyBQZXJtaXNzaW9uT2JzZXJ2ZXIKKyAgICB2b2lkIHN0YXRlQ2hhbmdlZChQZXJtaXNzaW9uU3Rh
dGUpIGZpbmFsOworICAgIGNvbnN0IENsaWVudE9yaWdpbiYgb3JpZ2luKCkgZmluYWwgeyByZXR1
cm4gbV9vcmlnaW47IH0KKyAgICBjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRv
cigpIGZpbmFsIHsgcmV0dXJuIG1fZGVzY3JpcHRvcjsgfQorCisgICAgLy8gQWN0aXZlRE9NT2Jq
ZWN0CisgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOwor
CisgICAgLy8gRXZlbnRUYXJnZXQKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0Ojpz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KKyAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVu
dFRhcmdldEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFBlcm1pc3Npb25TdGF0dXNF
dmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KKyAgICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgZmlu
YWwgeyByZWYoKTsgfQorICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYo
KTsgfQorCisgICAgUGVybWlzc2lvblN0YXRlIG1fc3RhdGU7CisgICAgUGVybWlzc2lvbkRlc2Ny
aXB0b3IgbV9kZXNjcmlwdG9yOworICAgIENsaWVudE9yaWdpbiBtX29yaWdpbjsKKyAgICBXZWFr
UHRyPFBlcm1pc3Npb25Db250cm9sbGVyPiBtX2NvbnRyb2xsZXI7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0dXMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjc4MTQyZTY5OWUyMGU2YmU4
NmNjNWNlMjA1NmQxZGViNjkyZWQwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbApAQCAtMCwwICsxLDM2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKyAKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jcGVy
bWlzc2lvbnN0YXR1cworCitbCisgICAgQWN0aXZlRE9NT2JqZWN0LAorICAgIEVuYWJsZWRCeVNl
dHRpbmc9UGVybWlzc2lvbnNBUEksCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKK10gaW50
ZXJmYWNlIFBlcm1pc3Npb25TdGF0dXMgOiBFdmVudFRhcmdldCB7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgUGVy
bWlzc2lvbk5hbWUgbmFtZTsKKyAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uY2hhbmdlOwor
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzViNmFhYjcxZjA4Y2VmYTZmZDE1NTRjZmZhZmQ2MWEwYTRjYTdl
OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbnMuY3BwCkBAIC0wLDAgKzEsOTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbnMuaCIKKworI2luY2x1ZGUgIkV4Y2VwdGlv
bi5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKKyNpbmNsdWRlICJKU1Blcm1pc3Npb25EZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiSlNQZXJt
aXNzaW9uU3RhdHVzLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVkZSAiUGVybWlz
c2lvbkRlc2NyaXB0b3IuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChQZXJtaXNz
aW9ucyk7CisKK1JlZjxQZXJtaXNzaW9ucz4gUGVybWlzc2lvbnM6OmNyZWF0ZShOYXZpZ2F0b3Im
IG5hdmlnYXRvcikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJtaXNzaW9ucyhuYXZp
Z2F0b3IpKTsKK30KKworUGVybWlzc2lvbnM6OlBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdh
dG9yKQorICAgIDogbV9uYXZpZ2F0b3IobWFrZVdlYWtQdHIobmF2aWdhdG9yKSkKK3sKK30KKwor
TmF2aWdhdG9yKiBQZXJtaXNzaW9uczo6bmF2aWdhdG9yKCkKK3sKKyAgICByZXR1cm4gbV9uYXZp
Z2F0b3IuZ2V0KCk7Cit9CisKK3ZvaWQgUGVybWlzc2lvbnM6OnF1ZXJ5KEpTQzo6U3Ryb25nPEpT
Qzo6SlNPYmplY3Q+IHBlcm1pc3Npb25EZXNjcmlwdG9yVmFsdWUsIERPTVByb21pc2VEZWZlcnJl
ZDxJRExJbnRlcmZhY2U8UGVybWlzc2lvblN0YXR1cz4+JiYgcHJvbWlzZSkKK3sKKyAgICBhdXRv
IGNvbnRleHQgPSBtX25hdmlnYXRvciA/IG1fbmF2aWdhdG9yLT5zY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkgOiBudWxscHRyOworICAgIGlmICghY29udGV4dCB8fCAhY29udGV4dC0+Z2xvYmFsT2Jq
ZWN0KCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRl
RXJyb3IgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBKU0M6OlZNJiB2bSA9IGNv
bnRleHQtPmdsb2JhbE9iamVjdCgpLT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKKyAgICBpZiAoIXBlcm1pc3Npb25EZXNjcmlwdG9yVmFsdWUpIHsKKyAg
ICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgRGF0YUVycm9yLCAiVGhlIHBhcmFtZXRl
ciBpcyBpbnZhbGlkIl9zIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byBw
YXJhbWV0ZXJEZXNjcmlwdG9yID0gY29udmVydDxJRExEaWN0aW9uYXJ5PFBlcm1pc3Npb25EZXNj
cmlwdG9yPj4oKmNvbnRleHQtPmdsb2JhbE9iamVjdCgpLCBwZXJtaXNzaW9uRGVzY3JpcHRvclZh
bHVlLmdldCgpKTsKKyAgICBpZiAoVU5MSUtFTFkoc2NvcGUuZXhjZXB0aW9uKCkpKSB7CisgICAg
ICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEV4aXN0aW5nRXhjZXB0aW9uRXJyb3IgfSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvKiBmcmFtZSA9IG1fbmF2aWdhdG9y
LT5mcmFtZSgpOworICAgIGF1dG8qIGRvY3VtZW50ID0gZnJhbWU/IGZyYW1lLT5kb2N1bWVudCgp
IDogbnVsbHB0cjsKKyAgICBhdXRvKiBwYWdlID0gZnJhbWU/IGZyYW1lLT5wYWdlKCkgOiBudWxs
cHRyOworICAgIGlmICghZnJhbWUgfHwgIWRvY3VtZW50IHx8ICFwYWdlKSB7CisgICAgICAgIHBy
b21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH0pOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgYXV0byBwZXJtaXNzaW9uU3RhdGUgPSBwYWdlLT5wZXJtaXNz
aW9uQ29udHJvbGxlcigpLnF1ZXJ5KENsaWVudE9yaWdpbiB7IGRvY3VtZW50LT50b3BPcmlnaW4o
KS5kYXRhKCksIGRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSB9LCBQZXJtaXNzaW9u
RGVzY3JpcHRvciB7IHBhcmFtZXRlckRlc2NyaXB0b3IgfSk7CisgICAgcHJvbWlzZS5yZXNvbHZl
KFBlcm1pc3Npb25TdGF0dXM6OmNyZWF0ZSgqY29udGV4dCwgcGVybWlzc2lvblN0YXRlLCBwYXJh
bWV0ZXJEZXNjcmlwdG9yKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MmU4OTU3YWYxMThjYzY2NGRkYjZjNGI1NzRkNmQyNGM3NWM0ZmEwCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oCkBA
IC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIklE
TFR5cGVzLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nLmg+CisjaW5jbHVkZSA8
d3RmL0lzb01hbGxvYy5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFjZSBK
U0MgeworY2xhc3MgSlNPYmplY3Q7Cit9IC8vIG5hbWVzcGFjZSBKU0MKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBOYXZpZ2F0b3I7CitjbGFzcyBQZXJtaXNzaW9uU3RhdHVzOworCit0
ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKK2Ns
YXNzIFBlcm1pc3Npb25zIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8UGVybWlzc2lvbnM+IHsK
KyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFBlcm1pc3Npb25zKTsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUmVmPFBlcm1pc3Npb25zPiBjcmVhdGUoTmF2aWdhdG9yJik7CisKKyAgICBOYXZpZ2F0
b3IqIG5hdmlnYXRvcigpOworICAgIHZvaWQgcXVlcnkoSlNDOjpTdHJvbmc8SlNDOjpKU09iamVj
dD4sIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8UGVybWlzc2lvblN0YXR1cz4+JiYp
OworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFBlcm1pc3Npb25zKE5hdmlnYXRvciYpOworCisg
ICAgV2Vha1B0cjxOYXZpZ2F0b3I+IG1fbmF2aWdhdG9yOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9ucy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjhhYTYxMmE1MDdiMzgwNTQwYTY3MGJlNjQ1YWI2NmVm
NDM4MWRkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9ucy5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0
dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jcGVybWlzc2lvbnMtaW50ZXJmYWNlCisK
K1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorICAgIEdlbmVyYXRlSXNS
ZWFjaGFibGU9UmVhY2hhYmxlRnJvbU5hdmlnYXRvciwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tz
VlRhYmxlLAorICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpCitdIGludGVyZmFjZSBQZXJtaXNz
aW9ucyB7CisgICAgUHJvbWlzZTxQZXJtaXNzaW9uU3RhdHVzPiBxdWVyeShvYmplY3QgcGVybWlz
c2lvbkRlc2MpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggNmQ1OWRjM2ZkODc4NGFjMzU3NjBhZGRm
NWQ5MjA1OGQyNTg0ZDA3Yi4uODkxMDU0OTczMTlhNmIwNGUxOGZlNTJlNDUxZWQ0ZWU5YTRmMTUy
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKQEAgLTIwMyw2ICsyMDMsOSBAQCBNb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVx
dWVzdFVwZGF0ZUV2ZW50LmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVz
dFV0aWxpdGllcy5jcHAKIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmNw
cAorTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKK01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKK01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbnMuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRQaWN0dXJlSW5Q
aWN0dXJlLmNwcAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVy
ZUV2ZW50LmNwcAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0hUTUxWaWRlb0VsZW1lbnRQaWN0
dXJlSW5QaWN0dXJlLmNwcApAQCAtMzI3Miw2ICszMjc1LDExIEBAIEpTUGVyZm9ybWFuY2VUaW1p
bmcuY3BwCiBKU1BlcmlvZGljV2F2ZS5jcHAKIEpTUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuY3Bw
CiBKU1BlcmlvZGljV2F2ZU9wdGlvbnMuY3BwCitKU1Blcm1pc3Npb25EZXNjcmlwdG9yLmNwcAor
SlNQZXJtaXNzaW9uTmFtZS5jcHAKK0pTUGVybWlzc2lvblN0YXRlLmNwcAorSlNQZXJtaXNzaW9u
U3RhdHVzLmNwcAorSlNQZXJtaXNzaW9ucy5jcHAKIEpTUGljdHVyZUluUGljdHVyZVdpbmRvdy5j
cHAKIEpTUGxheWJhY2tEaXJlY3Rpb24uY3BwCiBKU1BvaW50ZXJFdmVudC5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkMGFh
MGU4ZDJiOWI5MTA3M2I5ODNhNjhjZjU5ZjdlNjZhMmE1Mzc1Li4zNmFkZWVkNDlkMTBmODdhNjE4
MWQ4MzI4M2ViODc2NDg0OGFkZGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yODgwLDYgKzI4ODAsMTQgQEAKIAkJOTNBODA2
MTcxRTAzQjUxQzAwOEExRjI2IC8qIExvbmdSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBODA2MTMxRTAzQjUxQzAwOEExRjI2IC8qIExvbmdS
YW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTkzQTgwNjFFMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJhbmdlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4MDYxQTFFMDNCNTg1MDA4QTFG
MjYgLyogSlNEb3VibGVSYW5nZS5oICovOyB9OwogCQk5M0E4MDYyMDFFMDNCNTg1MDA4QTFGMjYg
LyogSlNMb25nUmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzQTgwNjFDMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5oICovOyB9Owor
CQk5M0IwQTY1MzI2Q0REMTQxMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjRBMjZDREQx
M0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oICovOyB9OworCQk5M0IwQTY1NDI2
Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjRCMjZDREQxM0UwMEFBMjFFNCAvKiBQZXJtaXNz
aW9ucy5oICovOyB9OworCQk5M0IwQTY1NjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0
YXR1cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNC
MEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCAqLzsgfTsKKwkJOTNC
MEE2NTcyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY0RTI2Q0REMTNGMDBB
QTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5M0IwQTY1OTI2Q0REMTQxMDBBQTIxRTQgLyogUGVy
bWlzc2lvbk5hbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzQjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjVCMjZDREQx
NDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjUyMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uU3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk5M0IwQTY3MDI2RDRCNTM5MDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjY5MjZE
NDRCN0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjdBMjZENkE0RTkwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzQjBBNjZGMjZENEI1MjkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2Jz
ZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk5M0IyRDgxNjBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjJEODE1MEY5OTIwRDIw
MDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzQjM4RUMzMjU4MjFEQjQwMDE5OEU2MyAvKiBXZWJT
cGVlY2hSZWNvZ25pemVyVGFzay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTNCMzhFQkEyNTgyMTkzQjAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6
ZXJUYXNrLmggKi87IH07CiAJCTkzQjM4RUM0MjU4MjFEQjcwMDE5OEU2MyAvKiBXZWJTcGVlY2hS
ZWNvZ25pemVyVGFza01vY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzQjM4RUJCMjU4MjE5M0QwMDE5OEU2MyAvKiBXZWJTcGVlY2hSZWNvZ25pemVy
VGFza01vY2suaCAqLzsgfTsKQEAgLTExNzAxLDYgKzExNzA5LDIzIEBACiAJCTkzQTgwNjFBMUUw
M0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTRG91YmxlUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTNBODA2MUIxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9uZ1JhbmdlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTG9uZ1JhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTNBODA2MUMxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9uZ1JhbmdlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTG9uZ1JhbmdlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ0MjZDREM1QjYwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uU3RhdGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0ZS5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ1MjZDREM1QjYwMEFBMjFFNCAv
KiBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlz
c2lvbkRlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0
NjI2Q0RDNUI3MDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFBlcm1pc3Npb25OYW1lLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTNCMEE2NDcyNkNEQzVCNzAwQUEyMUU0IC8qIE5hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gIk5hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwiOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0ODI2Q0RDNUI3MDBBQTIxRTQgLyogUGVybWlz
c2lvbnMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcm1pc3Npb25zLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDkyNkNEQzVCODAwQUEyMUU0IC8qIFBlcm1p
c3Npb25TdGF0dXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0dXMu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0QTI2Q0REMTNFMDBBQTIx
RTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTmF2aWdhdG9yUGVybWlzc2lvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOTNCMEE2NEIyNkNERDEzRTAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTkzQjBBNjRDMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9u
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOYXZpZ2F0b3JQZXJt
aXNzaW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjREMjZDREQx
M0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0dXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOTNCMEE2NEUyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25EZXNjcmlwdG9yLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRGMjZDREQxNDAwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9uU3RhdHVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFBlcm1pc3Npb25TdGF0dXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0Iw
QTY1MDI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbk5hbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOTNCMEE2NTEyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcm1pc3Npb25zLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NTIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1p
c3Npb25TdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9u
U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NjkyNkQ0NEI3RjAw
QUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Np
b25Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjZGMjZE
NEI1MjkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVy
bWlzc2lvbk9ic2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjJEODE1
MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTdWRkZW5UZXJtaW5hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5M0IyRDgxNzBGOTkyMEVFMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24u
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTdWRkZW5UZXJtaW5h
dGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMzhFQjgyNTgyMTg5OTAw
MTk4RTYzIC8qIFNwZWVjaFJlY29nbml6ZXJDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFNwZWVjaFJlY29nbml6ZXJDb2NvYS5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTIzMTg1LDYgKzIzMjEwLDMwIEBACiAJCQlwYXRoID0gbWFjOwog
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJOTNCMEE2NDIyNkNEQzU3NDAwQUEy
MUU0IC8qIHBlcm1pc3Npb25zICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJl
biA9ICgKKwkJCQk5M0IwQTY0NzI2Q0RDNUI3MDBBQTIxRTQgLyogTmF2aWdhdG9yK1Blcm1pc3Np
b25zLmlkbCAqLywKKwkJCQk5M0IwQTY0QzI2Q0REMTNFMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVy
bWlzc2lvbnMuY3BwICovLAorCQkJCTkzQjBBNjRBMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0
b3JQZXJtaXNzaW9ucy5oICovLAorCQkJCTkzQjBBNjY5MjZENDRCN0YwMEFBMjFFNCAvKiBQZXJt
aXNzaW9uQ29udHJvbGxlci5oICovLAorCQkJCTkzQjBBNjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9uRGVzY3JpcHRvci5oICovLAorCQkJCTkzQjBBNjQ1MjZDREM1QjYwMEFBMjFFNCAv
KiBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwgKi8sCisJCQkJOTNCMEE2NTAyNkNERDE0MDAwQUEy
MUU0IC8qIFBlcm1pc3Npb25OYW1lLmggKi8sCisJCQkJOTNCMEE2NDYyNkNEQzVCNzAwQUEyMUU0
IC8qIFBlcm1pc3Npb25OYW1lLmlkbCAqLywKKwkJCQk5M0IwQTY2RjI2RDRCNTI5MDBBQTIxRTQg
LyogUGVybWlzc2lvbk9ic2VydmVyLmggKi8sCisJCQkJOTNCMEE2NTEyNkNERDE0MDAwQUEyMUU0
IC8qIFBlcm1pc3Npb25zLmNwcCAqLywKKwkJCQk5M0IwQTY0QjI2Q0REMTNFMDBBQTIxRTQgLyog
UGVybWlzc2lvbnMuaCAqLywKKwkJCQk5M0IwQTY0ODI2Q0RDNUI3MDBBQTIxRTQgLyogUGVybWlz
c2lvbnMuaWRsICovLAorCQkJCTkzQjBBNjUyMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
U3RhdGUuaCAqLywKKwkJCQk5M0IwQTY0NDI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lvblN0
YXRlLmlkbCAqLywKKwkJCQk5M0IwQTY0RjI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvblN0
YXR1cy5jcHAgKi8sCisJCQkJOTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25T
dGF0dXMuaCAqLywKKwkJCQk5M0IwQTY0OTI2Q0RDNUI4MDBBQTIxRTQgLyogUGVybWlzc2lvblN0
YXR1cy5pZGwgKi8sCisJCQkpOworCQkJcGF0aCA9IHBlcm1pc3Npb25zOworCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJOTNCMzhFQjYyNTgyMTgzMzAwMTk4RTYzIC8qIGNvY29h
ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTIzNzkwLDYg
KzIzODM5LDcgQEAKIAkJCQk3MUQ2QUEzOTFEQTRFQUY3MDBCMjM5NjkgLyogbW9kZXJuLW1lZGlh
LWNvbnRyb2xzICovLAogCQkJCTMzM0Y3MDNEMEZCNDlDMTYwMDhFMTJBNiAvKiBub3RpZmljYXRp
b25zICovLAogCQkJCUExRjc2QjBFMUY0NEMwQ0YwMDE0QzMxOCAvKiBwYXltZW50cmVxdWVzdCAq
LywKKwkJCQk5M0IwQTY0MjI2Q0RDNTc0MDBBQTIxRTQgLyogcGVybWlzc2lvbnMgKi8sCiAJCQkJ
MURFRjA2QTIyMzNDMzJEQjAwRUUyMjhEIC8qIHBpY3R1cmVpbnBpY3R1cmUgKi8sCiAJCQkJMDcy
QUUxREUxODNDMDUxMzAwMEE1OTg4IC8qIHBsdWdpbnMgKi8sCiAJCQkJQ0RDMzEyRTAyMkZDRDBC
MDAwMTIwNEVDIC8qIHJlbW90ZXBsYXliYWNrICovLApAQCAtMzM3NTcsNiArMzM4MDcsNyBAQAog
CQkJCTZCNTA3QTI0MjM0QkYzNDEwMEJFN0M2MiAvKiBOYXZpZ2F0b3JJc0xvZ2dlZEluLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1RUE3MjVENjFBQ0FCRDU3MDBFQUQxN0IgLyogTmF2aWdhdG9yTWVk
aWFEZXZpY2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzdCQTU3MjI2MEZBMDE0MDA3MkYxOUYg
LyogTmF2aWdhdG9yTWVkaWFTZXNzaW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1MzI2
Q0REMTQxMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTk5NkU1OURGMURGMDEyOEQwMDY2MTJCOSAvKiBOYXZpZ2F0b3JXZWJEcml2ZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUUxRUU4Qjc4MjQxMzE5MUYwMEU3OTRENiAvKiBOYXZpZ2F0b3JXZWJY
Ui5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEEzMDlDOUYxMjM5NTBCRTAwQ0I5MjA0IC8qIE5lc3Rp
bmdMZXZlbEluY3JlbWVudGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTMzOTU2LDYgKzM0MDA3LDEz
IEBACiAJCQkJRkQ1ODFGQjUxNTIwRjkzQjAwM0E3QTc1IC8qIFBlcmlvZGljV2F2ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTc1NUU4OTIyNEM3NDM0QjAwOUY3QzIzIC8qIFBlcmlvZGljV2F2ZUNv
bnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNzU1RTg5OTI0Qzc0NjFEMDA5RjdDMjMg
LyogUGVyaW9kaWNXYXZlT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NzAyNkQ0
QjUzOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk5M0IwQTY1NzI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTkzQjBBNjU5MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFt
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2N0EyNkQ2QTRFOTAwQUEyMUU0IC8qIFBlcm1p
c3Npb25PYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTQyNkNERDE0MTAwQUEy
MUU0IC8qIFBlcm1pc3Npb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1QjI2Q0REMTQx
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1
NjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDlENURDMkUwRjQyM0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxREJDMUI1NjIzNDdCM0QyMDBCOTAxQUYgLyogUGlj
dHVyZUluUGljdHVyZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxRDJDODJCNzIzNkEz
RjZBMDA1NUQ2QzUgLyogUGljdHVyZUluUGljdHVyZVN1cHBvcnQuaCBpbiBIZWFkZXJzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1l
cy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmlu
ZGV4IGYxODFjNzk2ZDY1MGNjODZmZTNmMDhhNzIwMDdhNmVkYzJlZmJjNzguLjg1MWEyMTRjOWE0
ODdmZjY4ZDE2YmU3ZGQ4ZmJiNTIwODg3ZWI5MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTE1NCw2ICsxNTQsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oTW9ja1JUQ1J0cFRyYW5zZm9ybSkgXAogICAgIG1h
Y3JvKE5hdmlnYXRvckNyZWRlbnRpYWxzKSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yTWVkaWFEZXZp
Y2VzKSBcCisgICAgbWFjcm8oTmF2aWdhdG9yUGVybWlzc2lvbnMpIFwKICAgICBtYWNybyhOYXZp
Z2F0b3JVc2VyTWVkaWEpIFwKICAgICBtYWNybyhPZmZsaW5lQXVkaW9Db250ZXh0KSBcCiAgICAg
bWFjcm8oT2Zmc2NyZWVuQ2FudmFzKSBcCkBAIC0xODIsNiArMTgzLDkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpIFwKICAgICBtYWNybyhQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VTZXJ2ZXJU
aW1pbmcpIFwKKyAgICBtYWNybyhQZXJtaXNzaW9uRGVzY3JpcHRvcikgXAorICAgIG1hY3JvKFBl
cm1pc3Npb25TdGF0dXMpIFwKKyAgICBtYWNybyhQZXJtaXNzaW9ucykgXAogICAgIG1hY3JvKFBv
aW50ZXJFdmVudCkgXAogICAgIG1hY3JvKFB1YmxpY0tleUNyZWRlbnRpYWwpIFwKICAgICBtYWNy
byhSZXNpemVPYnNlcnZlcikgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rvcnku
aW4KaW5kZXggNWU1OGYxMTE2NjdlZjYyMTBkNTMxMTBkN2I1NGE4MDJjODQzOTVkOC4uMDEzY2Vk
MDk0NmZmY2Q1MjU5ZmEyNTBiMTYwM2ExOGU0NTllNDU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXRGYWN0b3J5LmluCkBAIC0zNSw2ICszNSw3IEBAIE9mZnNjcmVlbkNhbnZhcyBj
b25kaXRpb25hbD1PRkZTQ1JFRU5fQ0FOVkFTCiBQYXltZW50UmVxdWVzdCBjb25kaXRpb25hbD1Q
QVlNRU5UX1JFUVVFU1QKIFBheW1lbnRSZXNwb25zZSBjb25kaXRpb25hbD1QQVlNRU5UX1JFUVVF
U1QKIFBlcmZvcm1hbmNlCitQZXJtaXNzaW9uU3RhdHVzCiBQaWN0dXJlSW5QaWN0dXJlV2luZG93
IGNvbmRpdGlvbmFsPVBJQ1RVUkVfSU5fUElDVFVSRV9BUEkKIFJlbW90ZVBsYXliYWNrIGNvbmRp
dGlvbmFsPVdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVAogUlRDRGF0YUNoYW5uZWwgY29uZGl0aW9u
YWw9V0VCX1JUQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9UYXNrU291cmNlLmgKaW5kZXggNzEzM2Y2NzhlYTJkOTkyNjk1
MTYwMjA4NjRlZjEzZDRmM2VmZDM5OC4uMmRhNDdiYWQ2YzczYTZiYTViZjI4M2I4ZDM1MmY0MGQy
MWFmMDE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vVGFza1NvdXJjZS5oCkBAIC0zOSw2ICszOSw3IEBAIGVudW0g
Y2xhc3MgVGFza1NvdXJjZSA6IHVpbnQ4X3QgewogICAgIE1pY3JvdGFzaywKICAgICBOZXR3b3Jr
aW5nLAogICAgIFBlcmZvcm1hbmNlVGltZWxpbmUsCisgICAgUGVybWlzc2lvbiwKICAgICBQb3N0
ZWRNZXNzYWdlUXVldWUsCiAgICAgU3BlZWNoLAogICAgIFVzZXJJbnRlcmFjdGlvbiwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggOTY0ZTJkZDEyMDcwMzMxYTY1Y2Ez
NDFhYzcwZTRiMjg3NDIwMGEwZC4uNTVjYzQ2ZTI1OTE4NDY5ZjMxZDU2YzA0OTZlNDNkZDU1ZWNm
ZDVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTYzLDYgKzYz
LDcgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZUNvbmZpZ3VyYXRpb24uaCIK
ICNpbmNsdWRlICJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCIKKyNpbmNsdWRlICJQZXJtaXNz
aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlBsdWdpbkluZm9Qcm92aWRlci5oIgogI2luY2x1
ZGUgIlByb2dyZXNzVHJhY2tlckNsaWVudC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luRGF0
YS5oIgpAQCAtMTE5Myw3ICsxMTk0LDggQEAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3Vy
YXRpb25XaXRoRW1wdHlDbGllbnRzKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKICAgICAgICAg
bWFrZVVuaXF1ZVJlZjxFbXB0eUZyYW1lTG9hZGVyQ2xpZW50PigpLAogICAgICAgICBtYWtlVW5p
cXVlUmVmPER1bW15U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4oKSwKICAgICAgICAgbWFrZVVu
aXF1ZVJlZjxFbXB0eU1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKSwKLSAgICAgICAgRW1wdHlCcm9h
ZGNhc3RDaGFubmVsUmVnaXN0cnk6OmNyZWF0ZSgpCisgICAgICAgIEVtcHR5QnJvYWRjYXN0Q2hh
bm5lbFJlZ2lzdHJ5OjpjcmVhdGUoKSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1teVBlcm1p
c3Npb25Db250cm9sbGVyPigpCiAgICAgfTsKIAogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxF
bXB0eUNocm9tZUNsaWVudD4gZHVtbXlDaHJvbWVDbGllbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRl
eCBlZWU2OGI3N2UxZTVmY2UxZTU5YzMyOTQzNGE5YTg2MDBiMzY5NzEwLi44NjEwNzhiYTBiZjYx
ODNiNzcxMTQ1YTc0YjQxYmUwN2Q3YjA1NjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTk5LDYg
Kzk5LDcgQEAKICNpbmNsdWRlICJQZXJmb3JtYW5jZUxvZ2dpbmcuaCIKICNpbmNsdWRlICJQZXJm
b3JtYW5jZUxvZ2dpbmdDbGllbnQuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1vbml0b3IuaCIK
KyNpbmNsdWRlICJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU2NyZWVuLmgiCiAjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCkBAIC0zMjUsNiArMzI2LDcgQEAgUGFnZTo6UGFnZShQ
YWdlQ29uZmlndXJhdGlvbiYmIHBhZ2VDb25maWd1cmF0aW9uKQogICAgICwgbV9sb2Fkc1N1YnJl
c291cmNlcyhwYWdlQ29uZmlndXJhdGlvbi5sb2Fkc1N1YnJlc291cmNlcykKICAgICAsIG1fc2hv
dWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcocGFnZUNvbmZpZ3VyYXRpb24uc2hvdWxk
UmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcpCiAgICAgLCBtX2h0dHBzVXBncmFkZUVuYWJs
ZWQocGFnZUNvbmZpZ3VyYXRpb24uaHR0cHNVcGdyYWRlRW5hYmxlZCkKKyAgICAsIG1fcGVybWlz
c2lvbkNvbnRyb2xsZXIoV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5wZXJtaXNzaW9uQ29udHJv
bGxlcikpCiB7CiAgICAgdXBkYXRlVGltZXJUaHJvdHRsaW5nU3RhdGUoKTsKIApAQCAtMzY5Myw0
ICszNjk1LDkgQEAgdm9pZCBQYWdlOjpyZXNldFRleHRSZWNvZ25pdGlvblJlc3VsdHMoKQogCiAj
ZW5kaWYgLy8gRU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCitQZXJtaXNzaW9uQ29udHJvbGxlciYg
UGFnZTo6cGVybWlzc2lvbkNvbnRyb2xsZXIoKQoreworICAgIHJldHVybiBtX3Blcm1pc3Npb25D
b250cm9sbGVyLmdldCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5o
CmluZGV4IDkyNTViZjMxM2M2N2Q3MTQ4MTVjZjc4MTUyNjZmZmQ4MDViMjJmNjAuLjNiMWUyNjkw
NTU2ZGQ0ZjNkMTdhOGViODVmMjRkMDA0MDg4NzQzNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0xMzEs
NiArMTMxLDcgQEAgY2xhc3MgUGF5bWVudENvb3JkaW5hdG9yOwogY2xhc3MgUGVyZm9ybWFuY2VM
b2dnaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50OwogY2xhc3MgUGVyZm9ybWFu
Y2VNb25pdG9yOworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXI7CiBjbGFzcyBQbHVnaW5EYXRh
OwogY2xhc3MgUGx1Z2luSW5mb1Byb3ZpZGVyOwogY2xhc3MgUGx1Z2luVmlld0Jhc2U7CkBAIC04
NzIsNiArODczLDggQEAgcHVibGljOgogICAgIHZvaWQgY2FjaGVUZXh0UmVjb2duaXRpb25SZXN1
bHQoY29uc3QgSFRNTEVsZW1lbnQmLCBjb25zdCBJbnRSZWN0JiBjb250YWluZXJSZWN0LCBjb25z
dCBUZXh0UmVjb2duaXRpb25SZXN1bHQmKTsKICNlbmRpZgogCisgICAgV0VCQ09SRV9FWFBPUlQg
UGVybWlzc2lvbkNvbnRyb2xsZXImIHBlcm1pc3Npb25Db250cm9sbGVyKCk7CisKIHByaXZhdGU6
CiAgICAgc3RydWN0IE5hdmlnYXRpb24gewogICAgICAgICBSZWdpc3RyYWJsZURvbWFpbiBkb21h
aW47CkBAIC0xMTk0LDYgKzExOTcsOCBAQCBwcml2YXRlOgogICAgIGNvbnN0IGJvb2wgbV9odHRw
c1VwZ3JhZGVFbmFibGVkIHsgdHJ1ZSB9OwogICAgIG11dGFibGUgTWVkaWFTZXNzaW9uR3JvdXBJ
ZGVudGlmaWVyIG1fbWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyOwogCisgICAgVW5pcXVlUmVm
PFBlcm1pc3Npb25Db250cm9sbGVyPiBtX3Blcm1pc3Npb25Db250cm9sbGVyOworCiAjaWYgRU5B
QkxFKElNQUdFX0FOQUxZU0lTKQogICAgIC8vIEZJWE1FOiBUaGVzZSBzaG91bGQgYmUgcmVmYWN0
b3JlZCB0byB1c2UgYSB3ZWFrIGhhc2ggbWFwIG9mIEhUTUxFbGVtZW50IHRvIHN0ZDo6cGFpcjxU
ZXh0UmVjb2duaXRpb25SZXN1bHQsIEludFNpemU+LgogICAgIFZlY3RvcjxzdGQ6OnBhaXI8V2Vh
a1B0cjxIVE1MRWxlbWVudD4sIHN0ZDo6cGFpcjxUZXh0UmVjb2duaXRpb25SZXN1bHQsIEludFJl
Y3Q+Pj4gbV90ZXh0UmVjb2duaXRpb25SZXN1bHRzQnlFbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAppbmRleCA2NzVlMzY5Y2MxZTJjMmI3N2Q5OWZkZDA5
MTM0YjE5OGYwY2YzYWYzLi5jYjU2MGZkNDE0YTIzYTc2YjJjYzdiNjBlYTUwMjk5OWE5ODFjYzk3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcApAQCAtNTksNyAr
NTksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhZ2VDb25maWd1cmF0aW9uOjpQYWdl
Q29uZmlndXJhdGlvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JD
bGllbnQ+JiYgZWRpdG9yQ2xpZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJvdmlk
ZXIsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlciwgUmVm
PENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmIGNhY2hlU3RvcmFnZVByb3ZpZGVyLCBSZWY8VXNlckNv
bnRlbnRQcm92aWRlcj4mJiB1c2VyQ29udGVudFByb3ZpZGVyLCBSZWY8QmFja0ZvcndhcmRDbGll
bnQ+JiYgYmFja0ZvcndhcmRDbGllbnQsIFJlZjxDb29raWVKYXI+JiYgY29va2llSmFyLCBVbmlx
dWVSZWY8UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmIHByb2dyZXNzVHJhY2tlckNsaWVudCwgVW5p
cXVlUmVmPEZyYW1lTG9hZGVyQ2xpZW50PiYmIGxvYWRlckNsaWVudEZvck1haW5GcmFtZSwgVW5p
cXVlUmVmPFNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+JiYgc3BlZWNoUmVjb2duaXRpb25Qcm92
aWRlciwgVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4mJiBtZWRpYVJlY29yZGVyUHJv
dmlkZXIsIFJlZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYgYnJvYWRjYXN0Q2hhbm5lbFJl
Z2lzdHJ5KQorUGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lv
bklEIHNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQsIFJl
ZjxTb2NrZXRQcm92aWRlcj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldlYlJUQ1By
b3ZpZGVyPiYmIGxpYldlYlJUQ1Byb3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYg
Y2FjaGVTdG9yYWdlUHJvdmlkZXIsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmIHVzZXJDb250
ZW50UHJvdmlkZXIsIFJlZjxCYWNrRm9yd2FyZENsaWVudD4mJiBiYWNrRm9yd2FyZENsaWVudCwg
UmVmPENvb2tpZUphcj4mJiBjb29raWVKYXIsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGll
bnQ+JiYgcHJvZ3Jlc3NUcmFja2VyQ2xpZW50LCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+
JiYgbG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1lLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2duaXRpb25Q
cm92aWRlcj4mJiBzcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyLCBVbmlxdWVSZWY8TWVkaWFSZWNv
cmRlclByb3ZpZGVyPiYmIG1lZGlhUmVjb3JkZXJQcm92aWRlciwgUmVmPEJyb2FkY2FzdENoYW5u
ZWxSZWdpc3RyeT4mJiBicm9hZGNhc3RDaGFubmVsUmVnaXN0cnksIFVuaXF1ZVJlZjxQZXJtaXNz
aW9uQ29udHJvbGxlcj4mJiBwZXJtaXNzaW9uQ29udHJvbGxlcikKICAgICA6IHNlc3Npb25JRChz
ZXNzaW9uSUQpCiAgICAgLCBlZGl0b3JDbGllbnQoV1RGTW92ZShlZGl0b3JDbGllbnQpKQogICAg
ICwgc29ja2V0UHJvdmlkZXIoV1RGTW92ZShzb2NrZXRQcm92aWRlcikpCkBAIC03Myw2ICs3Myw3
IEBAIFBhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbihQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JDCiAgICAgLCBicm9hZGNhc3RDaGFubmVsUmVnaXN0
cnkoV1RGTW92ZShicm9hZGNhc3RDaGFubmVsUmVnaXN0cnkpKQogICAgICwgc3BlZWNoUmVjb2du
aXRpb25Qcm92aWRlcihXVEZNb3ZlKHNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXIpKQogICAgICwg
bWVkaWFSZWNvcmRlclByb3ZpZGVyKFdURk1vdmUobWVkaWFSZWNvcmRlclByb3ZpZGVyKSkKKyAg
ICAsIHBlcm1pc3Npb25Db250cm9sbGVyKFdURk1vdmUocGVybWlzc2lvbkNvbnRyb2xsZXIpKQog
ewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKaW5kZXggMGYyNTlk
NTZkM2ExNDJhMTRlMGVjODUxNGUwZmQ1YjJmZDI5MzBhNS4uZDc1YjcxMDRjMzUwMzkxZjU4YTk2
OGZhZTJlNmUwMzU0NjExNmFjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
Q29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uaApAQCAtNTksNiArNTksNyBAQCBjbGFzcyBMaWJXZWJSVENQcm92aWRlcjsKIGNsYXNzIE1l
ZGlhUmVjb3JkZXJQcm92aWRlcjsKIGNsYXNzIFBheW1lbnRDb29yZGluYXRvckNsaWVudDsKIGNs
YXNzIFBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudDsKK2NsYXNzIFBlcm1pc3Npb25Db250cm9sbGVy
OwogY2xhc3MgUGx1Z2luSW5mb1Byb3ZpZGVyOwogY2xhc3MgUHJvZ3Jlc3NUcmFja2VyQ2xpZW50
OwogY2xhc3MgU29ja2V0UHJvdmlkZXI7CkBAIC03NCw3ICs3NSw3IEBAIGNsYXNzIFNwZWVjaFN5
bnRoZXNpc0NsaWVudDsKIGNsYXNzIFBhZ2VDb25maWd1cmF0aW9uIHsKICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQYWdlQ29uZmlndXJhdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIFBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lv
bklELCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmLCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVu
aXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYm
LCBSZWY8VXNlckNvbnRlbnRQcm92aWRlcj4mJiwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmLCBS
ZWY8Q29va2llSmFyPiYmLCBVbmlxdWVSZWY8UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmLCBVbmlx
dWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+JiYsIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblBy
b3ZpZGVyPiYmLCBVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPiYmLCBSZWY8QnJvYWRj
YXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJh
dGlvbihQQUw6OlNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiwgUmVmPFNvY2tl
dFByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYsIFJlZjxDYWNoZVN0
b3JhZ2VQcm92aWRlcj4mJiwgUmVmPFVzZXJDb250ZW50UHJvdmlkZXI+JiYsIFJlZjxCYWNrRm9y
d2FyZENsaWVudD4mJiwgUmVmPENvb2tpZUphcj4mJiwgVW5pcXVlUmVmPFByb2dyZXNzVHJhY2tl
ckNsaWVudD4mJiwgVW5pcXVlUmVmPEZyYW1lTG9hZGVyQ2xpZW50PiYmLCBVbmlxdWVSZWY8U3Bl
ZWNoUmVjb2duaXRpb25Qcm92aWRlcj4mJiwgVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRl
cj4mJiwgUmVmPEJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4mJiwgVW5pcXVlUmVmPFBlcm1pc3Np
b25Db250cm9sbGVyPiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB+UGFnZUNvbmZpZ3VyYXRpb24o
KTsKICAgICBQYWdlQ29uZmlndXJhdGlvbihQYWdlQ29uZmlndXJhdGlvbiYmKTsKIApAQCAtMTM4
LDYgKzEzOSw4IEBAIHB1YmxpYzoKICAgICBib29sIHVzZXJTY3JpcHRzU2hvdWxkV2FpdFVudGls
Tm90aWZpY2F0aW9uIHsgdHJ1ZSB9OwogICAgIFNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJs
b2NraW5nIHNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nIHsgU2hvdWxkUmVsYXhU
aGlyZFBhcnR5Q29va2llQmxvY2tpbmc6Ok5vIH07CiAgICAgYm9vbCBodHRwc1VwZ3JhZGVFbmFi
bGVkIHsgdHJ1ZSB9OworCisgICAgVW5pcXVlUmVmPFBlcm1pc3Npb25Db250cm9sbGVyPiBwZXJt
aXNzaW9uQ29udHJvbGxlcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291
cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IDY2YWVkYTQzYzgyZDhi
ZmIzMzViYmZlZjYwOTVkMDRlZmFkYjg2MjAuLmE3NDVkNzIwMTVjZmMxOTVmYjk2ZjJjYzU1ODU4
YTgzMWI3NTBlYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIv
U291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtNjk0LDYgKzY5NCw3IEBAIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViTWVkaWFLZXlTeXN0ZW1DbGllbnQuY3BwCiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmNwcAogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAKK1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwCiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViUG9wdXBNZW51LmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
cm9ncmVzc1RyYWNrZXJDbGllbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAppbmRleCA1ZmIzMDg5NTAxNTYyNDg2NjYxNTNjNjI0ZjQwMzRlYTRhODg0ZmRmLi45
YTgyOTZiOThkNWJiMGRiNjNhNzgwZjE1YmYzNDIzM2U3ZTQzYzFlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTE3Miw2ICsxNzIsNyBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvTUlNRVR5cGVSZWdpc3RyeS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFTdHJl
YW1SZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1pc3Npb25TdGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUGxhdGZvcm1FdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1B1YmxpY1N1ZmZpeC5oPgpAQCAtODQ5Myw2ICs4
NDk0LDEyIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXZva2VHZW9sb2NhdGlvbkF1dGhvcml6YXRp
b25Ub2tlbihjb25zdCBTdHJpbmcmIGF1dGhvcml6YXRpCiAgICAgbV9nZW9sb2NhdGlvblBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlci5yZXZva2VBdXRob3JpemF0aW9uVG9rZW4oYXV0aG9yaXphdGlv
blRva2VuKTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RQZXJtaXNzaW9uKGNvbnN0
IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlw
dG9yJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIC8vIEZJWE1FOiBTaG93IGEgcHJvbXB0IGZvciB1
c2VyIGlucHV0LgorICAgIGNvbXBsZXRpb25IYW5kbGVyKFBlcm1pc3Npb25TdGF0ZTo6R3JhbnRl
ZCk7Cit9CisKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyUHJveHkmIFdlYlBhZ2VQcm94eTo6dXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXgg
ZWExYzIyZmI2YjExYmU5Njg5OTI4MjY0ZDNiZjNmYzg0NzEwOWI4ZC4uNDYxYWFjYjg4ODZhNTIz
MWNjYWFmZjA3NGYyYTFhNTRjMDE3N2Q3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTI5NCw2ICsyOTQsNyBAQCBzdHJ1Y3QgTGlua0ljb247CiBzdHJ1Y3QgTWVk
aWFTdHJlYW1SZXF1ZXN0Owogc3RydWN0IE1lZGlhVXNhZ2VJbmZvOwogc3RydWN0IE1vY2tXZWJB
dXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb247CitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7
CiBzdHJ1Y3QgUHJld2FybUluZm9ybWF0aW9uOwogc3RydWN0IFNlY3VyaXR5T3JpZ2luRGF0YTsK
IHN0cnVjdCBTaGFyZURhdGE7CkBAIC0yMTE3LDYgKzIxMTgsNyBAQCBwcml2YXRlOgogCiAgICAg
dm9pZCByZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoR2VvbG9jYXRpb25JZGVu
dGlmaWVyLCBGcmFtZUluZm9EYXRhJiYpOwogICAgIHZvaWQgcmV2b2tlR2VvbG9jYXRpb25BdXRo
b3JpemF0aW9uVG9rZW4oY29uc3QgU3RyaW5nJiBhdXRob3JpemF0aW9uVG9rZW4pOworICAgIHZv
aWQgcmVxdWVzdFBlcm1pc3Npb24oY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3Qg
V2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdl
YkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYpOwogCiAjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFU
Rk9STShXUEUpCiAgICAgdm9pZCBzZW5kTWVzc2FnZVRvV2ViVmlldyhVc2VyTWVzc2FnZSYmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpp
bmRleCBiYzM3YjhmYzZhZGYzZWFkMTg3MmQxMTU1ZmYwY2JkMDA5ZGMwYWY5Li4wN2UwZjU0ODAz
NDY5NzAzYTZmNzM3ZDk5MzA3YjFlYzczNTBjZDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC02MDIsNCArNjAyLDYgQEAgbWVz
c2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXX01B
QykKICAgICBNb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KHN0cnVjdCBXZWJDb3JlOjpFbGVt
ZW50Q29udGV4dCBlbGVtZW50Q29udGV4dCwgVVJMIHVybCwgU3RyaW5nIHV1aWQsIFdlYkNvcmU6
OkZsb2F0U2l6ZSBzaXplKQogI2VuZGlmCisKKyAgICByZXF1ZXN0UGVybWlzc2lvbihzdHJ1Y3Qg
V2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdpbiwgc3RydWN0IFdlYkNvcmU6OlBlcm1pc3Npb25E
ZXNjcmlwdG9yIGRlc2NyaXB0b3IpIC0+IChlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6UGVybWlzc2lv
blN0YXRlIHN0YXRlKSBBc3luYwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggZmUzZDMyYjMyOTVjMmM0NGZkNDQ0NGNkZDdmMTQxZjI0
MDA0Y2EwMi4uZmI2OGEzYmQxNmQyNzM4MmNkMzNjOTNiMTBiZWJlMjkzYjMzYTUwNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDk2
LDYgKzE0OTYsNyBAQAogCQk5M0FCOUI0RTI1NzU2N0UyMDA5OEIxMEUgLyogU3BlZWNoUmVjb2du
aXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0FCOUI0MjI1NzQ5MjhDMDA5OEIxMEUgLyogU3BlZWNo
UmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlLmggKi87IH07CiAJCTkzQUI5QjU1
MjU3NUEyNzYwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1lTWVkaWFTb3VyY2VN
YW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzQUI5QjRGMjU3NTg5MTEwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25p
dGlvblJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsK
IAkJOTNBQjlCNTYyNTc1QTI4QjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVh
bHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBQjlCNTEyNTc1ODkxMTAwOThCMTBF
IC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQk5M0IwQTY3NTI2RDVBRENGMDBBQTIxRTQgLyogV2Vi
UGVybWlzc2lvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzQjBBNjc0MjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29u
dHJvbGxlci5oICovOyB9OwogCQk5M0IyNjE0RDIyN0QxNDlFMDBCOTdBNzYgLyogU3RvcmFnZU1h
bmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
QjI2MTQ5MjI3RDE0NzIwMEI5N0E3NiAvKiBTdG9yYWdlTWFuYWdlci5oICovOyB9OwogCQk5M0Iy
NjE0RTIyN0QxNEIxMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjI2MTQ1MjI3RDE0NzAwMEI5
N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZS5oICovOyB9OwogCQk5M0IyNjE0RjIyN0QxNEIx
MDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IyNjE0NjIyN0QxNDcxMDBCOTdBNzYg
LyogTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmggKi87IH07CkBAIC00OTE0LDYgKzQ5MTUs
MTAgQEAKIAkJOTNBQjlCNTIyNTc1ODkxMjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVt
b3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1l
ZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk5M0FCOUI1MzI1NzU4OTEyMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1v
dGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJj
ZU1hbmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0FCOUI1
NDI1NzU4OTEyMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNl
TWFuYWdlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwZWVj
aFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY2RDI2RDQ1MTUwMDBBQTIxRTQgLyogUGVybWlz
c2lvbk1hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVy
bWlzc2lvbk1hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY2
RTI2RDQ1MTUwMDBBQTIxRTQgLyogUGVybWlzc2lvbk1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbk1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTNCMEE2NzMyNkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250
cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlBlcm1p
c3Npb25Db250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2
NzQyNkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjI2MTQ1MjI3RDE0NzAwMEI5N0E3NiAvKiBMb2Nh
bFN0b3JhZ2VEYXRhYmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2Nh
bFN0b3JhZ2VEYXRhYmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IyNjE0
NjIyN0QxNDcxMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IyNjE0NzIyN0QxNDcxMDBCOTdBNzYg
LyogTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05NjIzLDYgKzk2MjgsMTUgQEAKIAkJCXBhdGggPSBTcGVl
Y2g7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk5M0IwQTY2QzI2RDQ1MTFG
MDBBQTIxRTQgLyogUGVybWlzc2lvbiAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hp
bGRyZW4gPSAoCisJCQkJOTNCMEE2NkQyNkQ0NTE1MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25NYW5h
Z2VyLmNwcCAqLywKKwkJCQk5M0IwQTY2RTI2RDQ1MTUwMDBBQTIxRTQgLyogUGVybWlzc2lvbk1h
bmFnZXIuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gUGVybWlzc2lvbjsKKwkJCXNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7CisJCX07CiAJCTkzQjI2MTQzMjI3RDE0MzEwMEI5N0E3NiAvKiBXZWJTdG9y
YWdlICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTk4NjMs
NiArOTg3Nyw3IEBACiAJCQkJNEE0MTBGNDExOUFGN0IyNzAwMkVCQUI1IC8qIE1lZGlhU3RyZWFt
ICovLAogCQkJCTUxMDVCMEQyMTYyRjdBNUUwMEUyNzcwOSAvKiBOZXR3b3JrICovLAogCQkJCTMx
MDk5OTc0MTQ2QzhBQTgwMDI5REVCOSAvKiBOb3RpZmljYXRpb25zIChVc2VyKSAqLywKKwkJCQk5
M0IwQTY2QzI2RDQ1MTFGMDBBQTIxRTQgLyogUGVybWlzc2lvbiAqLywKIAkJCQkxQTZGQjdBQTEx
RTY0QjQ5MDBEQjEzNzEgLyogUGx1Z2lucyAqLywKIAkJCQk5M0FCOUI0ODI1NzRDNUNFMDA5OEIx
MEUgLyogU3BlZWNoICovLAogCQkJCTUxMThFOTk4MUYyOTUyNTkwMDNFRjlGNSAvKiBTdG9yYWdl
ICovLApAQCAtOTkzMyw2ICs5OTQ4LDggQEAKIAkJCQk1MTIxMjdDMjE5MDgyMzlBMDBEQUYzNUMg
LyogV2ViUGFzdGVib2FyZE92ZXJyaWRlcy5oICovLAogCQkJCTBGODUwRkU0MUVEN0MzOUYwMEZC
NzdBNyAvKiBXZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwICovLAogCQkJCTBGODUwRkU1
MUVEN0MzOUYwMEZCNzdBNyAvKiBXZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaCAqLywKKwkJ
CQk5M0IwQTY3MzI2RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3Bw
ICovLAorCQkJCTkzQjBBNjc0MjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJv
bGxlci5oICovLAogCQkJCTFBM0U3MzYwMTFDQzI2NTkwMDdCRDUzOSAvKiBXZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMuY3BwICovLAogCQkJCTFBM0U3MzVGMTFDQzI2NTkwMDdCRDUzOSAvKiBXZWJQbGF0
Zm9ybVN0cmF0ZWdpZXMuaCAqLywKIAkJCQlEM0I5NDg0MjExRkY0QjY1MDAwMzJCMzkgLyogV2Vi
UG9wdXBNZW51LmNwcCAqLywKQEAgLTEyNjYyLDYgKzEyNjc5LDcgQEAKIAkJCQlBMTc5OEI0QzIy
MkYxQkQ0MDAwNzY0QkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUFCMUY3OTkxRDFCMzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGODUwRkU3MUVEN0Mz
OUYwMEZCNzdBNyAvKiBXZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICov
LAorCQkJCTkzQjBBNjc1MjZENUFEQ0YwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEzRTczNjExMUNDMjY1OTAwN0JENTM5IC8qIFdlYlBs
YXRmb3JtU3RyYXRlZ2llcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1NzQ0RjAxMjYzOEZCMzAw
NkYwRjEyIC8qIFdlYlBvcHVwSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNCOTQ4NDcxMUZG
NEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlBlcm1pc3Npb25Db250cm9sbGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYjkwMzU4ZDFjYjE2OWFjNWU3
YmIzYTRiNzc5ZWVhZTk2NTYwMDUzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcApAQCAt
MCwwICsxLDEzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworV2Vi
UGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBlcm1pc3Npb25Db250cm9sbGVyKFdlYlBhZ2UmIHBh
Z2UpCisgICAgOiBtX3BhZ2UobWFrZVdlYWtQdHIocGFnZSkpCit7Cit9CisKK1Blcm1pc3Npb25T
dGF0ZSBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVlcnkoV2ViQ29yZTo6Q2xpZW50T3JpZ2lu
JiYgb3JpZ2luLCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpCit7
CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybiBXZWJDb3JlOjpQZXJtaXNzaW9uU3Rh
dGU6OkRlbmllZDsKKworICAgIHJldHVybiBxdWVyeUNhY2hlKFdURk1vdmUob3JpZ2luKSwgV1RG
TW92ZShkZXNjcmlwdG9yKSk7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnJl
cXVlc3QoQ2xpZW50T3JpZ2luJiYgb3JpZ2luLCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRv
ciYmIGRlc2NyaXB0b3IsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUGVybWlzc2lvblN0YXRlKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0dXJu
IGNvbXBsZXRpb25IYW5kbGVyKFBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkKTsKKworICAgIGF1dG8g
Y2FjaGVkUmVzdWx0ID0gcXVlcnlDYWNoZShvcmlnaW4sIGRlc2NyaXB0b3IpOworICAgIGlmIChj
YWNoZWRSZXN1bHQgIT0gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpQcm9tcHQpCisgICAgICAg
IHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihjYWNoZWRSZXN1bHQpOworCisgICAgbV9yZXF1ZXN0
cy5hcHBlbmQoUGVybWlzc2lvblJlcXVlc3QgeyBXVEZNb3ZlKG9yaWdpbiksIFdURk1vdmUoZGVz
Y3JpcHRvciksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpIH0pOworICAgIHRyeVByb2Nlc3Np
bmdSZXF1ZXN0KCk7Cit9CisKK1Blcm1pc3Npb25TdGF0ZSBXZWJQZXJtaXNzaW9uQ29udHJvbGxl
cjo6cXVlcnlDYWNoZShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mIG9yaWdpbiwgY29uc3Qg
V2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCit7CisgICAgaWYgKG1f
Y2FjaGVkUGVybWlzc2lvbkVudHJpZXMuY29udGFpbnMob3JpZ2luKSkgeworICAgICAgICBhdXRv
IHBlcm1pc3Npb25FbnRyaWVzID0gbV9jYWNoZWRQZXJtaXNzaW9uRW50cmllcy5nZXQob3JpZ2lu
KTsKKyAgICAgICAgZm9yIChhdXRvJiBlbnRyeSA6IHBlcm1pc3Npb25FbnRyaWVzKSB7CisgICAg
ICAgICAgICBpZiAoZW50cnkuZmlyc3QgPT0gZGVzY3JpcHRvcikKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZW50cnkuc2Vjb25kOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIFdlYkNv
cmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0OworfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250
cm9sbGVyOjp1cGRhdGVDYWNoZShjb25zdCBDbGllbnRPcmlnaW4mIG9yaWdpbiwgY29uc3QgV2Vi
Q29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIFdlYkNvcmU6OlBlcm1pc3Np
b25TdGF0ZSBzdGF0ZSkKK3sKKyAgICBhdXRvJiBlbnRyaWVzID0gbV9jYWNoZWRQZXJtaXNzaW9u
RW50cmllcy5lbnN1cmUob3JpZ2luLCBbJl0oKSB7CisgICAgICAgIHJldHVybiBWZWN0b3I8UGVy
bWlzc2lvbkVudHJ5PiB7IH07CisgICAgfSkuaXRlcmF0b3ItPnZhbHVlOworICAgIGZvciAoYXV0
byYgZW50cnkgOiBlbnRyaWVzKSB7CisgICAgICAgIGlmIChlbnRyeS5maXJzdCA9PSBkZXNjcmlw
dG9yKSB7CisgICAgICAgICAgICBpZiAoZW50cnkuc2Vjb25kID09IHN0YXRlKQorICAgICAgICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgZW50cnkuc2Vjb25kID0gc3RhdGU7CisgICAg
ICAgICAgICBwZXJtaXNzaW9uQ2hhbmdlZChvcmlnaW4sIGRlc2NyaXB0b3IsIHN0YXRlKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBXZWJQZXJtaXNz
aW9uQ29udHJvbGxlcjo6dHJ5UHJvY2Vzc2luZ1JlcXVlc3QoKQoreworICAgIGlmIChtX3JlcXVl
c3RzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2hpbGUgKCFtX3JlcXVlc3Rz
LmlzRW1wdHkoKSkgeworICAgICAgICBhdXRvJiBjdXJyZW50UmVxdWVzdCA9IG1fcmVxdWVzdHMu
Zmlyc3QoKTsKKyAgICAgICAgaWYgKGN1cnJlbnRSZXF1ZXN0LmlzV2FpdGluZ0ZvclJlcGx5KQor
ICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIC8vIENhY2hlIG1heSBoYXZlIGNoYW5nZWQg
YmV0d2VlbiByZXF1ZXN0cy4KKyAgICAgICAgYXV0byBjYWNoZWRSZXN1bHQgPSBxdWVyeUNhY2hl
KGN1cnJlbnRSZXF1ZXN0Lm9yaWdpbiwgY3VycmVudFJlcXVlc3QuZGVzY3JpcHRvcik7CisgICAg
ICAgIGlmIChjYWNoZWRSZXN1bHQgIT0gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpQcm9tcHQp
IHsKKyAgICAgICAgICAgIGF1dG8gdGFrZW5SZXF1ZXN0ID0gbV9yZXF1ZXN0cy50YWtlRmlyc3Qo
KTsKKyAgICAgICAgICAgIHRha2VuUmVxdWVzdC5jb21wbGV0aW9uSGFuZGxlcihjYWNoZWRSZXN1
bHQpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBjdXJyZW50
UmVxdWVzdC5pc1dhaXRpbmdGb3JSZXBseSA9IHRydWU7CisgICAgICAgIG1fcGFnZS0+c2VuZFdp
dGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OnJlcXVlc3RQZXJtaXNzaW9uKGN1
cnJlbnRSZXF1ZXN0Lm9yaWdpbiwgY3VycmVudFJlcXVlc3QuZGVzY3JpcHRvciksIFt0aGlzLCB3
ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0oYXV0byBzdGF0ZSkgeworICAgICAgICAgICAg
aWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIGF1
dG8gdGFrZW5SZXF1ZXN0ID0gbV9yZXF1ZXN0cy50YWtlRmlyc3QoKTsKKyAgICAgICAgICAgIHRh
a2VuUmVxdWVzdC5jb21wbGV0aW9uSGFuZGxlcihzdGF0ZSk7CisgICAgICAgICAgICB1cGRhdGVD
YWNoZSh0YWtlblJlcXVlc3Qub3JpZ2luLCB0YWtlblJlcXVlc3QuZGVzY3JpcHRvciwgc3RhdGUp
OworCisgICAgICAgICAgICB0cnlQcm9jZXNzaW5nUmVxdWVzdCgpOworICAgICAgICB9KTsKKyAg
ICB9Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OmFkZE9ic2VydmVyKFdlYkNv
cmU6OlBlcm1pc3Npb25PYnNlcnZlciYgb2JzZXJ2ZXIpCit7CisgICAgbV9vYnNlcnZlcnMuYWRk
KG9ic2VydmVyKTsKK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cmVtb3ZlT2Jz
ZXJ2ZXIoV2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICBtX29i
c2VydmVycy5yZW1vdmUob2JzZXJ2ZXIpOworfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9s
bGVyOjpwZXJtaXNzaW9uQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mIG9yaWdp
biwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIFdlYkNv
cmU6OlBlcm1pc3Npb25TdGF0ZSBzdGF0ZSkKK3sKKyAgICBmb3IgKGF1dG8mIG9ic2VydmVyIDog
bV9vYnNlcnZlcnMpIHsKKyAgICAgICAgaWYgKG9ic2VydmVyLm9yaWdpbigpID09IG9yaWdpbiAm
JiBvYnNlcnZlci5kZXNjcmlwdG9yKCkgPT0gZGVzY3JpcHRvcikKKyAgICAgICAgICAgIG9ic2Vy
dmVyLnN0YXRlQ2hhbmdlZChzdGF0ZSk7CisgICAgfQorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGM2ZDUxMGM3
MTBlNTNlOTZhYzZiNDgyNTc3ZDNlNDI3YWRiYjFkZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxl
ci5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgPFdlYkNvcmUvUGVybWlzc2lvbkNvbnRyb2xsZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Bl
cm1pc3Npb25EZXNjcmlwdG9yLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJQ
ZXJtaXNzaW9uQ29udHJvbGxlciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpQZXJtaXNzaW9uQ29u
dHJvbGxlciB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIo
V2ViUGFnZSYpOworCitwcml2YXRlOgorICAgIC8vIFdlYkNvcmU6OlBlcm1pc3Npb25Db250cm9s
bGVyCisgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHF1ZXJ5KFdlYkNvcmU6OkNsaWVudE9y
aWdpbiYmLCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmKSBmaW5hbDsKKyAgICB2b2lk
IHJlcXVlc3QoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlBlcm1pc3Npb25EZXNj
cmlwdG9yJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRl
KT4mJikgZmluYWw7CisgICAgdm9pZCBhZGRPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2Jz
ZXJ2ZXImKSBmaW5hbDsKKyAgICB2b2lkIHJlbW92ZU9ic2VydmVyKFdlYkNvcmU6OlBlcm1pc3Np
b25PYnNlcnZlciYpIGZpbmFsOworCisgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHF1ZXJ5
Q2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6UGVybWlz
c2lvbkRlc2NyaXB0b3ImKTsKKyAgICB2b2lkIHVwZGF0ZUNhY2hlKGNvbnN0IFdlYkNvcmU6OkNs
aWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiwgV2ViQ29y
ZTo6UGVybWlzc2lvblN0YXRlKTsKKyAgICB2b2lkIHRyeVByb2Nlc3NpbmdSZXF1ZXN0KCk7Cisg
ICAgdm9pZCBwZXJtaXNzaW9uQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBj
b25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIFdlYkNvcmU6OlBlcm1pc3Npb25T
dGF0ZSk7CisKKyAgICBXZWFrUHRyPFdlYlBhZ2U+IG1fcGFnZTsKKyAgICBXZWFrSGFzaFNldDxX
ZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXI+IG1fb2JzZXJ2ZXJzOworCisgICAgdXNpbmcgUGVy
bWlzc2lvbkVudHJ5ID0gc3RkOjpwYWlyPFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yLCBX
ZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU+OworICAgIEhhc2hNYXA8V2ViQ29yZTo6Q2xpZW50T3Jp
Z2luLCBWZWN0b3I8UGVybWlzc2lvbkVudHJ5Pj4gbV9jYWNoZWRQZXJtaXNzaW9uRW50cmllczsK
KworICAgIHN0cnVjdCBQZXJtaXNzaW9uUmVxdWVzdCB7CisgICAgICAgIFdlYkNvcmU6OkNsaWVu
dE9yaWdpbiBvcmlnaW47CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yIGRl
c2NyaXB0b3I7CisgICAgICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlz
c2lvblN0YXRlKT4gY29tcGxldGlvbkhhbmRsZXI7CisgICAgICAgIGJvb2wgaXNXYWl0aW5nRm9y
UmVwbHkgeyBmYWxzZSB9OworICAgIH07CisgICAgRGVxdWU8UGVybWlzc2lvblJlcXVlc3Q+IG1f
cmVxdWVzdHM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDA0ZTNhZTIwMTQzZjJmM2RiZDIw
NjRhMzAyZjAxYjg0ZWRjYTk2NDUuLjcxMWVkOGU5MjI3NmViOTMxZjU0NDVjNzRmZDZjM2IwZTll
YjU0MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CkBAIC0xMjEsNiArMTIxLDcgQEAKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIldlYlBheW1lbnRDb29yZGluYXRvci5oIgogI2luY2x1ZGUgIldlYlBlcmZvcm1h
bmNlTG9nZ2luZ0NsaWVudC5oIgorI2luY2x1ZGUgIldlYlBlcm1pc3Npb25Db250cm9sbGVyLmgi
CiAjaW5jbHVkZSAiV2ViUGx1Z2luSW5mb1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBN
ZW51LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIgpAQCAtNTYzLDcg
KzU2NCw4IEBAIFdlYlBhZ2U6OldlYlBhZ2UoUGFnZUlkZW50aWZpZXIgcGFnZUlELCBXZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxX
ZWJGcmFtZUxvYWRlckNsaWVudD4obV9tYWluRnJhbWUuY29weVJlZigpKSwKICAgICAgICAgbWFr
ZVVuaXF1ZVJlZjxXZWJTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPihtX2lkZW50aWZpZXIpLAog
ICAgICAgICBtYWtlVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKnRoaXMpLAotICAg
ICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5icm9hZGNhc3RDaGFubmVsUmVnaXN0cnkoKQor
ICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5icm9hZGNhc3RDaGFubmVsUmVnaXN0cnko
KSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJQZXJtaXNzaW9uQ29udHJvbGxlcj4oKnRoaXMp
CiAgICAgKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hy
b21lQ2xpZW50KCp0aGlzKTsKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0
b3JNYWMuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVm
cmVzaE1vbml0b3JNYWMuaAppbmRleCBiYmY4ZDFiYjhjZTZjMzAxZGMzZWYyMDE5NTNkODJmZWMw
NWVkZDU4Li41NmJjODFjNzhmMzRhYTQ1MzQ3OTM1ZDI3MWVjNTcwYzNmYzdlZTUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hN
b25pdG9yTWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0Rp
c3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCkBAIC01MCw3ICs1MCw3IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBzdGFydE5vdGlmaWNhdGlvbk1lY2hhbmlzbSgpIGZpbmFsOwogICAgIHZvaWQgc3RvcE5v
dGlmaWNhdGlvbk1lY2hhbmlzbSgpIGZpbmFsOwogCi0gICAgdm9pZCBhZGp1c3RQcmVmZXJyZWRG
cmFtZXNQZXJTZWNvbmQoRnJhbWVzUGVyU2Vjb25kKSBmaW5hbDsKKyAgICB2b2lkIGFkanVzdFBy
ZWZlcnJlZEZyYW1lc1BlclNlY29uZChXZWJDb3JlOjpGcmFtZXNQZXJTZWNvbmQpIGZpbmFsOwog
CiAgICAgRGlzcGxheUxpbmtPYnNlcnZlcklEIG1fb2JzZXJ2ZXJJRDsKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8V2ViQ29yZTo6UnVuTG9vcE9ic2VydmVyPiBtX3J1bkxvb3BPYnNlcnZlcjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBjZDZhNWY1NzI5OTRm
N2VjNGZiZGU3NjM3ZGY4NjdiZDUyZjNjODM0Li40ODAzZWJjOWVjNzdlODhlMTViMjhlMmJlZGMx
NmQ2NzNhNzI4OWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCkBAIC0xOTUsNiArMTk1LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGFnZS5oPgogI2ltcG9y
dCA8V2ViQ29yZS9QYWdlQ29uZmlndXJhdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYXRoVXRp
bGl0aWVzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1Blcm1pc3Npb25Db250cm9sbGVyLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1BsYXRmb3JtU2NyZWVuLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Byb2dyZXNzVHJhY2tlci5oPgpA
QCAtMTUzNiw3ICsxNTM3LDggQEAgc3RhdGljIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUdhbWVwYWRQ
cm92aWRlcklmTmVjZXNzYXJ5KCkKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJGcmFtZUxvYWRl
ckNsaWVudD4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpEdW1teVNwZWVjaFJl
Y29nbml0aW9uUHJvdmlkZXI+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TWVk
aWFSZWNvcmRlclByb3ZpZGVyPigpLAotICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0
cnk6OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZF0pCisgICAgICAgIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoW1tz
ZWxmIHByZWZlcmVuY2VzXSBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSksCisgICAgICAgIG1ha2VV
bmlxdWVSZWY8V2ViQ29yZTo6RHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlcj4oKQogICAgICk7CiAj
aWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xp
ZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudChzZWxmKTsKQEAgLTE4MTQsNyArMTgxNiw4IEBAIHN0
YXRpYyB2b2lkIFdlYktpdEluaXRpYWxpemVHYW1lcGFkUHJvdmlkZXJJZk5lY2Vzc2FyeSgpCiAg
ICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KCksCiAgICAgICAgIG1h
a2VVbmlxdWVSZWY8V2ViQ29yZTo6RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigpLAog
ICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKSwK
LSAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShbW3NlbGYg
cHJlZmVyZW5jZXNdIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdKQorICAgICAgICBXZWJCcm9hZGNh
c3RDaGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZF0pLAorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15
UGVybWlzc2lvbkNvbnRyb2xsZXI+KCkKICAgICApOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNo
cm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnRJT1Moc2VsZik7CiAjaWYgRU5BQkxFKERS
QUdfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBmMTM1ZmRjMzA5NzU2MDk3NmRhODA4Yzk5ODlmMDA3M2JjOTFk
NGU5Li44OGFiYjAzYjZiNmYzODJlMWIzMTZiZjliYWMyZjNjZjQwODUyNDAyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1j
cmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlv
bnM6CisKIDIwMjEtMDgtMjUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBDcmFzaCBpbiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cmVzaGFw
ZURpc3BsYXlCdWZmZXJCYWNraW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA4
YTY2NTBmODgyODQ5OTgwMmE5ZDIwZWZlNjliNTQzMzdiNjQ0YjhmLi4zOWFlMjhmNzQ0M2I0ZDQz
YzExNDQ3NjkxM2VkZmY0MTAzNjA0NWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOSBAQAorMjAyMS0wOC0yNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVy
bWlzc2lvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1p
c3Npb25zL3Blcm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5z
dWItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9u
cy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1i
YWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1w
ZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wOC0yNSAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWMgd2syXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXBvcnRpbmctdG8t
ZnJhbWUtb3duZXIuaHR0cHMuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDZiZGUyZjk0ZWFkMjE3Yjg2NDQzMjU3MThjMWY0YzYyMTFmMjc2NzAuLjhiYzkzNjhk
OGE4ZWQyOGJhYWE1NDEzZGJmOGFiZjJjMTZmZDE5MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MTk2LDYgKzE5Niw3IEBAIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vcGVybWlzc2lvbi1lcnJvci5o
dG1sIFsgU2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXJlY29nbml0aW9uLXRo
ZW4tc3RvcC5odG1sIFsgU2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXNlY29u
ZC1yZWNvZ25pdGlvbi5odG1sIFsgU2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL2lvcy8g
WyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvIFsg
U2tpcCBdCiAKICMgYXBwLXByaXZhY3ktcmVwb3J0IHRlc3RzIHJlbHkgb24gV2ViS2l0QWRkaXRp
b25zCiBodHRwL3Rlc3RzL2FwcC1wcml2YWN5LXJlcG9ydC8gWyBTa2lwIF0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
aWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQK
aW5kZXggYjg0ZDQwZDc2NWYyMDQwODNkZWY4YjY3NzAwYzQyMDQ0YjAzNDY5OC4uMGM0YmFhMGNm
ZWUwMWY5NGNlYWY0YWY3ZmIzOGY4OWI0ZmI2YmJlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFu
eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKQEAgLTE5LDI5
ICsxOSwyOSBAQCBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JJRDogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmln
YXRvckxhbmd1YWdlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0
b3IgaW5jbHVkZXMgTmF2aWdhdG9yT25MaW5lOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFT
UyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1
cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBl
Y3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVz
IiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3Ii
IHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3Rh
dHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFi
bGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9u
U3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgc3RhdGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0
dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bmNoYW5nZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1
cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZh
Y2Ugb2YgcGVybWlzc2lvblN0YXR1cyBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlv
biB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgotRkFJ
TCBTdHJpbmdpZmljYXRpb24gb2YgcGVybWlzc2lvblN0YXR1cyBhc3NlcnRfZXF1YWxzOiBVbmV4
cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0
IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNz
aW9uU3RhdHVzIgotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0
YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0YXRlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBh
c3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0
IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY2hhbmdlIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3
aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgotRkFJTCBQ
ZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3Np
bmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4
cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBp
bnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNz
aW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0
ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkg
IlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNj
b3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25z
IiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5KG9i
amVjdCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwot
RkFJTCBQZXJtaXNzaW9ucyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmlnYXRvci5w
ZXJtaXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJv
YmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmln
YXRvci5wZXJtaXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVj
dGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJm
YWNlOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeShv
YmplY3QpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Yg
b2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgUGVybWlz
c2lvbnMgaW50ZXJmYWNlOiBjYWxsaW5nIHF1ZXJ5KG9iamVjdCkgb24gbmF2aWdhdG9yLnBlcm1p
c3Npb25zIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0
X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1
bmRlZmluZWQiCi1GQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwZXJtaXNzaW9u
cyBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkg
InBlcm1pc3Npb25zIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBOYXZpZ2F0b3IgaW50
ZXJmYWNlOiBuYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJwZXJtaXNzaW9ucyIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicGVybWlzc2lvbnMi
IG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNT
IFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUGVybWlzc2lv
blN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9w
ZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlCitQ
QVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UKK1BBU1Mg
UGVybWlzc2lvblN0YXR1cyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHBlcm1pc3Npb25T
dGF0dXMKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIHBlcm1pc3Npb25TdGF0dXMKK1BBU1MgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJzdGF0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKK1BBU1MgUGVybWlzc2lvblN0YXR1
cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNo
YW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQZXJtaXNz
aW9ucyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvbnMg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25zIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBxdWVyeShvYmplY3QpCitQQVNTIFBlcm1pc3Npb25zIG11c3QgYmUgcHJpbWFy
eSBpbnRlcmZhY2Ugb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zCitQQVNTIFN0cmluZ2lmaWNhdGlv
biBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBu
YXZpZ2F0b3IucGVybWlzc2lvbnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeShvYmplY3Qp
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGNhbGxp
bmcgcXVlcnkob2JqZWN0KSBvbiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgd2l0aCB0b28gZmV3IGFy
Z3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvcgorUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgcGVybWlzc2lvbnMKK1BBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogbmF2aWdhdG9y
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGVybWlzc2lvbnMiIHdpdGggdGhlIHByb3BlciB0eXBl
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFy
bmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA1MjU2MDJkMTZkN2YwZjU0Y2E4ZWYw
M2Y3ZmNmNWI0ZWVlZjMxNjk3Li4wNjJiMjk1N2YzMTU1MWIzNTJhNDk1NDE2YzNmNGFiZmE1Nzk5
ZTZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9p
ZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xOSwyNSArMTksMjUgQEAgUEFT
UyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBuYW1lcyBhcmUg
dW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JMYW5ndWFnZTog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5h
dmlnYXRvck9uTGluZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdh
dG9yIGluY2x1ZGVzIE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVyIG5hbWVzIGFy
ZSB1bmlxdWUKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMg
aW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkg
IlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZh
Y2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Np
b25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRf
b3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9u
U3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJ
TCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNz
aW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwot
RkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJt
aXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2lu
ZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlIGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Np
b25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1G
QUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lv
blN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKK1BB
U1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVj
dCBsZW5ndGgKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BB
U1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogYXR0cmlidXRlIHN0YXRlCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25jaGFuZ2UKIEZBSUwgUGVybWlzc2lvblN0YXR1cyBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIHBlcm1pc3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBl
eGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2Jq
ZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1
cyIKIEZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIHBlcm1pc3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFs
czogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBu
dWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
cGVybWlzc2lvblN0YXR1cyIKIEZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1p
c3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzdGF0ZSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5n
IG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKIEZBSUwgUGVybWlzc2lvblN0YXR1
cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNo
YW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNl
cHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0
ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIK
LUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25z
IiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Np
b25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlz
c2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAi
UGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMi
IGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9u
cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
IEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJt
aXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBx
dWVyeShvYmplY3QpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1p
c3NpbmcKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0
IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgUGVy
bWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0
b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBw
cm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeShvYmpl
Y3QpCiBGQUlMIFBlcm1pc3Npb25zIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmF2aWdh
dG9yLnBlcm1pc3Npb25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0
ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgogRkFJTCBTdHJpbmdpZmljYXRpb24gb2Yg
bmF2aWdhdG9yLnBlcm1pc3Npb25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3Qg
ZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgogRkFJTCBQZXJtaXNzaW9ucyBp
bnRlcmZhY2U6IG5hdmlnYXRvci5wZXJtaXNzaW9ucyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInF1
ZXJ5KG9iamVjdCkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5
cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVk
LnR4dAppbmRleCBjM2U4NjA1Zjg3Mjg3YTgwMzgxZjVkYjgwNmNkZDA1YTI1NTY1ZGRlLi5jMmZk
NjVlOGQ0MDAyYTcyMzAxODdhNjFmNTFjMjgyZWZjMWM2YmVjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJt
aXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dApAQCAt
MSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IFdlYiBORkMgUGVybWlzc2lvbi4gdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeScp
CitQQVNTIFRlc3QgV2ViIE5GQyBQZXJtaXNzaW9uLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25z
LXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9w
ZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVj
dGVkLnR4dAppbmRleCBlNDJkZGEyNjEyZjI1N2I3ZjAyYmJlZWY2NTYzM2IyNWI3MzY0N2E1Li5j
NGJhMjQ5MmU5OTE5OWQ2NjYwNWE4YzAxYWEwMTUxYjk2MjQ2MDc4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1p
c3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBz
LnN1Yi1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgUGVybWlzc2lvbnMuc3Rh
dGUgaXMgInByb21wdCIgd2l0aCBhbGxvdz0iZ2VvbG9jYXRpb24iIGluIHNhbWUtb3JpZ2luIGlm
cmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9j
YXRpb24iKSBleHBlY3RlZCAoc3RyaW5nKSAicHJvbXB0IiBidXQgZ290IChvYmplY3QpIG51bGwK
LUZBSUwgUGVybWlzc2lvbnMuc3RhdGUgaXMgInByb21wdCIgd2l0aCBhbGxvdz0iZ2VvbG9jYXRp
b24iIGluIGNyb3NzLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVy
bWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgKHN0cmluZykgInByb21wdCIg
YnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIFBlcm1pc3Npb24uc3RhdGUgaXMgInByb21wdCIg
aW4gc2FtZS1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Np
b25zLnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJwcm9tcHQiIGJ1dCBn
b3QgKG9iamVjdCkgbnVsbAotRkFJTCBQZXJtaXNzaW9uLnN0YXRlIGlzICJkZW5pZWQiIGluIGNy
b3NzLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMu
cXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgKHN0cmluZykgImRlbmllZCIgYnV0IGdvdCAo
b2JqZWN0KSBudWxsCitQQVNTIFBlcm1pc3Npb25zLnN0YXRlIGlzICJwcm9tcHQiIHdpdGggYWxs
b3c9Imdlb2xvY2F0aW9uIiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLgorUEFTUyBQZXJtaXNzaW9u
cy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93PSJnZW9sb2NhdGlvbiIgaW4gY3Jvc3Mtb3Jp
Z2luIGlmcmFtZXMuCitQQVNTIFBlcm1pc3Npb24uc3RhdGUgaXMgInByb21wdCIgaW4gc2FtZS1v
cmlnaW4gaWZyYW1lcy4KK0ZBSUwgUGVybWlzc2lvbi5zdGF0ZSBpcyAiZGVuaWVkIiBpbiBjcm9z
cy1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1
ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkICJkZW5pZWQiIGJ1dCBnb3QgInByb21wdCIKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lv
bnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQKaW5kZXggMTFmYjFhMGQ2MTI0ZGE5NGUwMDFlN2Rk
OTIzZTAxN2NlNjllNzhiYS4uMGU0ZWJjYzQ3Y2NiOTM4OTA4ZWNlODRjYzY4ZjE1M2QwODUzNzlh
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Bl
cm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlM
IFRlc3QgUGVybWlzc2lvblN0YXR1cydzIG5hbWUgYXR0cmlidXRlLiBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5l
ZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVl
cnknKSIKK1BBU1MgVGVzdCBQZXJtaXNzaW9uU3RhdHVzJ3MgbmFtZSBhdHRyaWJ1dGUuCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvc2NyZWVu
LXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAppbmRleCA4NWM3YmJhNWMyYjI0NTkz
ZjUxZTIxNDZiZTI1YmQxNmZhMDVmZjU4Li44ZTBlNzAyZDFmMmRkNDhjYTY5OTljYTVmYjk0ZTUx
MmE2NDViZTliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0x
LDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgInNjcmVlbi13YWtlLWxvY2siIFBlcm1pc3Npb24uIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5w
ZXJtaXNzaW9ucy5xdWVyeScpIgorUEFTUyBUZXN0ICJzY3JlZW4td2FrZS1sb2NrIiBQZXJtaXNz
aW9uLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1mZXRjaC1wZXJtaXNzaW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cmlu
ZGV4IDlhOTQyNjlmYjc0MzhmYzYzYmUxOGQwMGNkMjk5N2NjNTliYThkZDYuLjc4NWJiNTg1ZjUx
NTk1ZmRlYTA1MjM0MTY3MjM4MTNjOGRiMjMxNTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5k
LWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNo
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgQmFj
a2dyb3VuZCBGZXRjaCBQZXJtaXNzaW9uLiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykKK1BBU1MgVGVzdCBCYWNrZ3Jv
dW5kIEZldGNoIFBlcm1pc3Npb24uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3Jv
dW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dyb3Vu
ZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CmluZGV4IDMxNmQzNTFhMGUwNzU0YjFlNTA5
YmYzY2EwYWRhNGI2NGRlMzU2YTcuLjRlOWYzN2E4NzU2ZWIxN2EyZmI4NGYxMTcwMmExNDNhODZi
NzA5OWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lv
bi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1wZXJtaXNz
aW9uLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IFBlcmlvZGljIEJh
Y2tncm91bmQgU3luYyBQZXJtaXNzaW9uLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKSIKK0ZBSUwgVGVz
dCBQZXJpb2RpYyBCYWNrZ3JvdW5kIFN5bmMgUGVybWlzc2lvbi4gcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9y
IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25h
dmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3Rl
ZC50eHQKaW5kZXggZGY5MDEwOTA0ZDU3N2U4NWEwNzY2NjdhOTM3YWQ3N2U2ZDhmNTk1Ny4uYzY4
ZDNjYTBiMzBjZGNlZTdkZTFlYjdiZTQxMzY5YTBiZWRiODNiYSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jh
c2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9k
b20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMTgsNiArMTgs
NyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgaXMgT0sKIG5hdmlnYXRvci5tZWRpYVNl
c3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlwZXMgaXMgT0sKIG5hdmlnYXRvci5vbkxpbmUg
aXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyBPSwogbmF2aWdhdG9yLnBsYXRmb3JtIGlz
IE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwogbmF2aWdhdG9yLnByb2R1Y3QgaXMgT0sKQEAg
LTUxLDYgKzUyLDcgQEAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGlzIE9LCiBuYXZpZ2F0
b3IubWVkaWFTZXNzaW9uIGlzIE9LCiBuYXZpZ2F0b3IubWltZVR5cGVzIGlzIE9LCiBuYXZpZ2F0
b3Iub25MaW5lIGlzIE9LCituYXZpZ2F0b3IucGVybWlzc2lvbnMgaXMgT0sKIG5hdmlnYXRvci5w
bGF0Zm9ybSBpcyBPSwogbmF2aWdhdG9yLnBsdWdpbnMgaXMgT0sKIG5hdmlnYXRvci5wcm9kdWN0
IGlzIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDZj
ZWUwZmEyZDRkNWRmZjZiOWQ2MTgyN2VlZTNlOTE0ZDk3OWI5NDUuLjQwOGM4YjQxYmM0M2NhMWIz
M2YwNjQ3OTEwYTJiYTVjNjYzMzZkYmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3drMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0
RXhwZWN0YXRpb25zCkBAIC04NjAsNCArODYwLDUgQEAgZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9w
ZXJtaXNzaW9uLWVycm9yLmh0bWwgWyBQYXNzIF0KIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vc3Rh
cnQtcmVjb2duaXRpb24tdGhlbi1zdG9wLmh0bWwgWyBQYXNzIF0KIGZhc3Qvc3BlZWNocmVjb2du
aXRpb24vc3RhcnQtc2Vjb25kLXJlY29nbml0aW9uLmh0bWwgWyBQYXNzIF0KIGZ1bGxzY3JlZW4v
ZnVsbC1zY3JlZW4tZW50ZXItd2hpbGUtZXhpdGluZy5odG1sIFsgUGFzcyBdCitpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zLyBbIFBhc3MgXQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436550</attachid>
            <date>2021-08-26 12:40:43 -0700</date>
            <delta_ts>2021-08-26 13:24:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210826124041.patch</filename>
            <type>text/plain</type>
            <size>122314</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLjAwYTQ0NjI0ZDI5YWZhNmM4YmNjZTcxM2MyZWU4N2U5Zjc5NTk4
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIxLTA4LTI1
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92
ZSBzb21lIGlPUy1zcGVjaWZpYyBjb21waWxlLXRpbWUgZ3VhcmRzIHRoYXQgYXJlIG5vIGxvbmdl
ciBuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYTkzNTJkZDhlZjlkY2Q5NWZiZDY3MTJiNTRlYjRlZWZm
ZWQyNWMyLi5kODI4YTAwNWQ2NDhiMDgxOWJhMGI5OTdiY2FhMGY1N2I5MjkyNzVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNjkgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiaW5kaW5ncyBj
b2RlIGFuZCBhIGZlYXR1cmUgZmxhZyBmb3IgUGVybWlzc2lvbnMgQVBJLgorICAgICAgICBTcGVj
OiBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLiBSZWJhc2VsaW5lIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9kdWxlcy9w
ZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAg
ICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6b3BlcmF0b3I9
PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yOjpkZWNvZGUp
OgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmg6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZl
ci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OlBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6flBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6c3RhdGVDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUg
Y29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uczo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpQZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJtaXNzaW9uczo6bmF2aWdhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25z
OjpxdWVyeSk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbDogQWRk
ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIGRv
bS9UYXNrU291cmNlLmg6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMpOgorICAgICAg
ICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX3Blcm1pc3Npb25Db250cm9s
bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnBlcm1pc3Npb25Db250cm9sbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Om1faHR0cHNVcGdyYWRlRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
ICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24pOgor
ICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKKwogMjAyMS0wOC0yNSAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGlu
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggNDI0MWIyZTZmYTc4NTRmMTVmZDMzYzZjYTljN2ZlYjM3YmMxZGIyMS4uMDM2Yzkz
YjFjMmI5YzE0NzkwZTI1OTVmM2IyOGVmZWVlODRmNGMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MyBAQAorMjAyMS0wOC0yNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2V0IHVwIGJhc2ljIGluZnJhc3RyY3R1cmUgb2Yg
cGVybWlzc2lvbiBnZXR0aW5nIGFuZCBzZXR0aW5nLgorCisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBl
cm1pc3Npb25Db250cm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRy
b2xsZXI6OnF1ZXJ5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6
OnJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVl
cnlDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRh
dGVDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQ
cm9jZXNzaW5nUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjphZGRPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjpyZW1vdmVPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250
cm9sbGVyOjpwZXJtaXNzaW9uQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fYXBwSGlnaGxp
Z2h0c1Zpc2libGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFjLmg6CisKIDIwMjEtMDgtMjYgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25v
cmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW2N1cmxdIFJFR1JFU1NJT04ocjI4MTE1OCk6
IGZldGNoKCdodHRwOi8vbG9jYWxob3N0LycpIGZyb20gYWJvdXQ6YmxhbmsgZG9lc24ndCBlbWl0
IHRoZSBjb25zb2xlIGVycm9yIG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRl
eCA0NWE1NDg2ZTA1ODA1ZDk3YmMxZTQ4YjQ0ZjkzZGEzMDMyOGE2YTFkLi5mZjc3YjQ5NWE4MmVj
OTI4MzQ5MTU4NGQ2MWFkZDJkZjA5NDg5NzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5h
bWU6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IGluaXRTaW1wbGVIVE1MRG9jdW1l
bnRXaXRoU3R5bGU6ZnJhbWU6cHJlZmVyZW5jZXM6Z3JvdXBOYW1lOl0pOgorCiAyMDIxLTA4LTI0
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gSW1wbGVt
ZW50IHByb2Nlc3Mtc3dhcHBpbmcgYmFzZWQgb24gQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xpY3kg
SFRUUCBoZWFkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9X
ZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZl
cmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXggMTg1YTVhYzBmNDU0
Yzc2YzAzNDc5MmFkMTg1NzYxZmNjYTY5NDk5MS4uNTU1NDYwMGRiYzY2NThmYTFjYWIyZDA1OGNk
NTM1ZGFmNTI5MzFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2Vz
L1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKQEAgLTg4MSw2ICs4
ODEsMTggQEAgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ1NlbnNpdGl2ZVByb3BlcnRpZXNFbmFi
bGVkOgogICAgIFdlYkNvcmU6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogCitQZXJtaXNzaW9uc0FQ
SUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJQZXJtaXNzaW9u
cyBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQZXJtaXNzaW9ucyBB
UEkiCisgIGRlZmF1bHRWYWx1ZToKKyAgICBXZWJLaXRMZWdhY3k6CisgICAgICBkZWZhdWx0OiBm
YWxzZQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViQ29yZToKKyAg
ICAgIGRlZmF1bHQ6IGZhbHNlCisKIFByaXZhdGVDbGlja01lYXN1cmVtZW50RGVidWdNb2RlRW5h
YmxlZDoKICAgdHlwZTogYm9vbAogICBodW1hblJlYWRhYmxlTmFtZTogIlByaXZhdGUgQ2xpY2sg
TWVhc3VyZW1lbnQgRGVidWcgTW9kZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYmJiODQyYTUz
OWExMDg3YzllMWRiNDYzZDAxOWRkMmIxMjMxNDJjOS4uMTc0Y2QxYmQwM2U4N2M3YzI2ZmVlNTEz
NmE4ZWEzMjUwMzg1OTlkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ2MCw2ICs0NjAsMTMg
QEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L1BheW1lbnRTaGlwcGluZ1R5cGUuaWRsCiAgICAgTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50VmFsaWRhdGlvbkVycm9ycy5pZGwKIAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2
aWdhdG9yK1Blcm1pc3Npb25zLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bkRlc2NyaXB0b3IuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5p
ZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwKKyAgICBNb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9ucy5pZGwKKwogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1
bWVudCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9E
b2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGlj
dHVyZWlucGljdHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDM5YjJiMzAwNGU0
YzU3OTQzN2U2NWFjYTk3MzI3Yzc4ZDRkNzQ1ZGUuLjUxMWI1MTMxMjAwYWJlYzgzYmU0OTA3YTdi
ZTQxOTIzYTYyZjM2OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdApAQCAtMzg4LDYgKzM4OCwxMiBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdUeXBlLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVycm9ycy5p
ZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Np
b25zLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVz
Y3JpcHRvci5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bk5hbWUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25T
dGF0ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMu
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGlj
dHVyZUluUGljdHVyZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVy
ZS9Eb2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50Lmlk
bApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApp
bmRleCAxOTY3MWY3NTA2ZDZhNzkzNzRjNWVhNDVhYzc3MWZjN2YxYjc5NTJiLi45YjQ4NGFiYTQ4
YzJjNWNmYzYwYWNlZWVjMjkzZWJjYTljMzk3MWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTM3Nyw2ICsxMzc3LDggQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVk
aWFEZXZpY2VzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOYXZpZ2F0b3IrTWVkaWFEZXZpY2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vzc2lvbi5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vz
c2lvbi5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05h
dmlnYXRvcitQZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1Blcm1pc3Npb25zLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dlYkRyaXZlci5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dl
YkRyaXZlci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U05hdmlnYXRvcitXZWJYUi5jcHAKQEAgLTE1ODMsNiArMTU4NSwxNiBAQCAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZUNvbnN0cmFpbnRz
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJp
b2RpY1dhdmVDb25zdHJhaW50cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uRGVzY3Jp
cHRvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UGVybWlzc2lvbkRlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uTmFtZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbk5hbWUuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdGUuY3BwCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0
ZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1p
c3Npb25TdGF0dXMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1Blcm1pc3Npb25TdGF0dXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbnMuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5Q
aWN0dXJlV2luZG93LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUGxheWJhY2tEaXJlY3Rpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCBkNjRlNjVlODZlNWUxMTQyNjY3YTllMzgyNzY4M2E5NjkyZjI3YWYxLi5mOWVlNjQyOGJh
MGE1NGQ1NGMwMjU3YWE2ZDZhMDAwMWUyZTQyMWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKQEAgLTMyNCw2ICszMjQsMTIgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ1R5
cGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFZh
bGlkYXRpb25FcnJvcnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMv
TmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGljdHVyZUluUGljdHVyZS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50K1Bp
Y3R1cmVJblBpY3R1cmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlucGlj
dHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5k
ZXggZWIwN2I4MGM5OTMzZDY5YThjMzYzMTkxOGM3NWRiZTRlMzdhOTJiOC4uODgyNDdlNDRjYjVm
ODc5ZmRiMzNkMzdhNzAzOTJmZTI1NTc4OTM3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
SGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMjks
NiArMTI5LDEwIEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBN
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbi5oCiAgICAgTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oCiAKKyAgICBN
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgKKyAgICBNb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25PYnNlcnZlci5oCisKICAgICBNb2R1bGVzL3BsdWdpbnMvUGx1Z2luUmVwbGFj
ZW1lbnQuaAogICAgIE1vZHVsZXMvcGx1Z2lucy9Zb3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQuaAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRv
citQZXJtaXNzaW9ucy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05h
dmlnYXRvcitQZXJtaXNzaW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBiMTI3ZTdmM2ExYzU2NjZjZDBk
MGM4OGZlOTExZTk2YzgzNGY2NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbApAQCAtMCwwICsxLDMz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNu
YXZpZ2F0b3ItYW5kLXdvcmtlcm5hdmlnYXRvci1leHRlbnNpb24KKworWworICAgIEVuYWJsZWRC
eVNldHRpbmc9UGVybWlzc2lvbnNBUEksCisgICAgSW1wbGVtZW50ZWRCeT1OYXZpZ2F0b3JQZXJt
aXNzaW9ucworXSBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgeworICAgIFtTYW1lT2JqZWN0
XSByZWFkb25seSBhdHRyaWJ1dGUgUGVybWlzc2lvbnMgcGVybWlzc2lvbnM7Cit9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNz
aW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBl
cm1pc3Npb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTFmNTU1ODg2ZDhlNzFhMzQ5ZWU3NWJmM2M0MTZm
MDJmMWM0N2FiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JQZXJtaXNzaW9u
cy5oIgorCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbnMuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9y
UGVybWlzc2lvbnMoTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCisgICAgOiBtX25hdmlnYXRvcihuYXZp
Z2F0b3IpCit7Cit9CisKK1JlZlB0cjxQZXJtaXNzaW9ucz4gTmF2aWdhdG9yUGVybWlzc2lvbnM6
OnBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIHJldHVybiBOYXZpZ2F0
b3JQZXJtaXNzaW9uczo6ZnJvbShuYXZpZ2F0b3IpLT5wZXJtaXNzaW9ucygpOworfQorCitSZWZQ
dHI8UGVybWlzc2lvbnM+IE5hdmlnYXRvclBlcm1pc3Npb25zOjpwZXJtaXNzaW9ucygpCit7Cisg
ICAgaWYgKCFtX3Blcm1pc3Npb25zKQorICAgICAgICBtX3Blcm1pc3Npb25zID0gUGVybWlzc2lv
bnM6OmNyZWF0ZShtX25hdmlnYXRvcik7CisKKyAgICByZXR1cm4gbV9wZXJtaXNzaW9uczsKK30K
KworTmF2aWdhdG9yUGVybWlzc2lvbnMqIE5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKE5hdmln
YXRvciYgbmF2aWdhdG9yKQoreworICAgIGF1dG8qIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxO
YXZpZ2F0b3JQZXJtaXNzaW9ucyo+KFN1cHBsZW1lbnQ8TmF2aWdhdG9yPjo6ZnJvbSgmbmF2aWdh
dG9yLCBzdXBwbGVtZW50TmFtZSgpKSk7CisgICAgaWYgKCFzdXBwbGVtZW50KSB7CisgICAgICAg
IGF1dG8gbmV3U3VwcGxlbWVudCA9IG1ha2VVbmlxdWU8TmF2aWdhdG9yUGVybWlzc2lvbnM+KG5h
dmlnYXRvcik7CisgICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOworICAg
ICAgICBwcm92aWRlVG8oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdT
dXBwbGVtZW50KSk7CisgICAgfQorCisgICAgcmV0dXJuIHN1cHBsZW1lbnQ7Cit9CisKK2NvbnN0
IGNoYXIqIE5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFtZSgpCit7CisgICAgcmV0
dXJuICJOYXZpZ2F0b3JQZXJtaXNzaW9ucyI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9y
UGVybWlzc2lvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdh
dG9yUGVybWlzc2lvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MGE3MzlkYTcxNDQwYzdhMzNiMjMyY2FlOTgz
NTIwMTlmZGE0NDRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yOworY2xhc3MgUGVybWlzc2lvbnM7
CisKK2NsYXNzIE5hdmlnYXRvclBlcm1pc3Npb25zIGZpbmFsIDogcHVibGljIFN1cHBsZW1lbnQ8
TmF2aWdhdG9yPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAg
ZXhwbGljaXQgTmF2aWdhdG9yUGVybWlzc2lvbnMoTmF2aWdhdG9yJik7CisKKyAgICBzdGF0aWMg
UmVmUHRyPFBlcm1pc3Npb25zPiBwZXJtaXNzaW9ucyhOYXZpZ2F0b3ImKTsKKyAgICBSZWZQdHI8
UGVybWlzc2lvbnM+IHBlcm1pc3Npb25zKCk7CisKK3ByaXZhdGU6CisgICAgc3RhdGljIE5hdmln
YXRvclBlcm1pc3Npb25zKiBmcm9tKE5hdmlnYXRvciYpOworICAgIHN0YXRpYyBjb25zdCBjaGFy
KiBzdXBwbGVtZW50TmFtZSgpOworCisgICAgUmVmUHRyPFBlcm1pc3Npb25zPiBtX3Blcm1pc3Np
b25zOworICAgIE5hdmlnYXRvciYgbV9uYXZpZ2F0b3I7Cit9OworCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVy
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDgyZTEzYjgxYjVlZDQ1YjVkNGUyMzE3MDc5YTMzOTYzYjRmZjNkNQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbkNvbnRyb2xsZXIuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJQZXJtaXNzaW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJQZXJt
aXNzaW9uU3RhdGUuaCIKKyNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQZXJtaXNzaW9uT2JzZXJ2ZXI7CitzdHJ1Y3QgUGVy
bWlzc2lvbkRlc2NyaXB0b3I7CisKK2NsYXNzIFBlcm1pc3Npb25Db250cm9sbGVyIDogcHVibGlj
IENhbk1ha2VXZWFrUHRyPFBlcm1pc3Npb25Db250cm9sbGVyPiB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UGVybWlzc2lvbkNvbnRyb2xsZXIo
KSA9IGRlZmF1bHQ7CisgICAgdmlydHVhbCBQZXJtaXNzaW9uU3RhdGUgcXVlcnkoQ2xpZW50T3Jp
Z2luJiYsIFBlcm1pc3Npb25EZXNjcmlwdG9yJiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVx
dWVzdChDbGllbnRPcmlnaW4mJiwgUGVybWlzc2lvbkRlc2NyaXB0b3ImJiwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChQZXJtaXNzaW9uU3RhdGUpPiYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGFk
ZE9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVt
b3ZlT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgPSAwOworfTsKKworY2xhc3MgRHVtbXlQ
ZXJtaXNzaW9uQ29udHJvbGxlciA6IHB1YmxpYyBQZXJtaXNzaW9uQ29udHJvbGxlciB7CisgICAg
UGVybWlzc2lvblN0YXRlIHF1ZXJ5KENsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRv
ciYmKSBmaW5hbCB7IHJldHVybiBQZXJtaXNzaW9uU3RhdGU6OkRlbmllZDsgfQorICAgIHZvaWQg
cmVxdWVzdChDbGllbnRPcmlnaW4mJiwgUGVybWlzc2lvbkRlc2NyaXB0b3ImJiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChQZXJtaXNzaW9uU3RhdGUpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBmaW5h
bCB7IGNvbXBsZXRpb25IYW5kbGVyKFBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkKTsgfQorICAgIHZv
aWQgYWRkT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgZmluYWwgeyB9CisgICAgdm9pZCBy
ZW1vdmVPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSBmaW5hbCB7IH0KK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTg0YjJkNGM3
N2E5OGU5NWI2NjQ5OGRjNGQwYjM4YTkwODllMWU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oCkBAIC0w
LDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlBlcm1p
c3Npb25OYW1lLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IFBlcm1pc3Npb25E
ZXNjcmlwdG9yIHsKKyAgICBQZXJtaXNzaW9uTmFtZSBuYW1lOworCisgICAgYm9vbCBvcGVyYXRv
cj09KGNvbnN0IFBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yKSBjb25zdCB7IHJldHVy
biBuYW1lID09IGRlc2NyaXB0b3IubmFtZTsgfQorICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+
IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVy
PiBzdGF0aWMgc3RkOjpvcHRpb25hbDxQZXJtaXNzaW9uRGVzY3JpcHRvcj4gZGVjb2RlKERlY29k
ZXImKTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+IGlubGluZSB2b2lkIFBlcm1pc3Np
b25EZXNjcmlwdG9yOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNv
ZGVyIDw8IG5hbWU7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0ZDo6b3B0aW9uYWw8
UGVybWlzc2lvbkRlc2NyaXB0b3I+IFBlcm1pc3Npb25EZXNjcmlwdG9yOjpkZWNvZGUoRGVjb2Rl
ciYgZGVjb2RlcikKK3sKKyAgICBQZXJtaXNzaW9uRGVzY3JpcHRvciByZXN1bHQ7CisgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShyZXN1bHQubmFtZSkpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvbkRlc2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmMzZhMzJhMmNjY2QzMzk5MzliN2RlODM1
ZGZlZGJiZjRmNTdjYzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbApAQCAtMCwwICsxLDMyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNkaWN0ZGVm
LXBlcm1pc3Npb25kZXNjcmlwdG9yCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Np
b25zQVBJLAorXSBkaWN0aW9uYXJ5IFBlcm1pc3Npb25EZXNjcmlwdG9yIHsKKyAgICByZXF1aXJl
ZCBQZXJtaXNzaW9uTmFtZSBuYW1lOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Yzk5MzFmZDg0Mzhk
MzQzMDE2ZjExZDJlZTRjNTczOTNkYWQ4ZTEwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oCkBAIC0wLDAgKzEsNzkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitl
bnVtIGNsYXNzIFBlcm1pc3Npb25OYW1lIDogdWludDhfdCB7CisgICAgQWNjZWxlcm9tZXRlciwK
KyAgICBBbWJpZW50TGlnaHRTZW5zb3IsCisgICAgQmFja2dyb3VuZEZldGNoLAorICAgIEJhY2tn
cm91bmRTeW5jLAorICAgIEJsdWV0b290aCwKKyAgICBDYW1lcmEsCisgICAgRGlzcGxheUNhcHR1
cmUsCisgICAgR2VvbG9jYXRpb24sCisgICAgR3lyb3Njb3BlLAorICAgIE1hZ25ldG9tZXRlciwK
KyAgICBNaWNyb3Bob25lLAorICAgIE1pZGksCisgICAgTmZjLAorICAgIE5vdGlmaWNhdGlvbnMs
CisgICAgUGVyc2lzdGVudFN0b3JhZ2UsCisgICAgUHVzaCwKKyAgICBTY3JlZW5XYWtlTG9jaywK
KyAgICBTcGVha2VyU2VsZWN0aW9uCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25h
bWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlBl
cm1pc3Npb25OYW1lPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAg
V2ViQ29yZTo6UGVybWlzc2lvbk5hbWUsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1l
OjpBY2NlbGVyb21ldGVyLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6QW1iaWVu
dExpZ2h0U2Vuc29yLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6QmFja2dyb3Vu
ZEZldGNoLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6QmFja2dyb3VuZFN5bmMs
CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpCbHVldG9vdGgsCisgICAgICAgIFdl
YkNvcmU6OlBlcm1pc3Npb25OYW1lOjpDYW1lcmEsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Np
b25OYW1lOjpEaXNwbGF5Q2FwdHVyZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6
Okdlb2xvY2F0aW9uLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6R3lyb3Njb3Bl
LAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6TWFnbmV0b21ldGVyLAorICAgICAg
ICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6TWljcm9waG9uZSwKKyAgICAgICAgV2ViQ29yZTo6
UGVybWlzc2lvbk5hbWU6Ok1pZGksCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpO
ZmMsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpOb3RpZmljYXRpb25zLAorICAg
ICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6UGVyc2lzdGVudFN0b3JhZ2UsCisgICAgICAg
IFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpQdXNoLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNz
aW9uTmFtZTo6U2NyZWVuV2FrZUxvY2ssCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1l
OjpTcGVha2VyU2VsZWN0aW9uCisgICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFt
ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1l
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kM2FjZGYyOGM2NDIxMTBlYjYxMGZlOWU5ODdiNmJlNjdkZGRhNjIx
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uTmFtZS5pZGwKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBz
Oi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jZW51bWRlZi1wZXJtaXNzaW9ubmFtZQorCitb
CisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKK10gZW51bSBQZXJtaXNzaW9u
TmFtZSB7CisgICAgImFjY2VsZXJvbWV0ZXIiLAorICAgICJhbWJpZW50LWxpZ2h0LXNlbnNvciIs
CisgICAgImJhY2tncm91bmQtZmV0Y2giLAorICAgICJiYWNrZ3JvdW5kLXN5bmMiLAorICAgICJi
bHVldG9vdGgiLAorICAgICJjYW1lcmEiLAorICAgICJkaXNwbGF5LWNhcHR1cmUiLAorICAgICJn
ZW9sb2NhdGlvbiIsCisgICAgImd5cm9zY29wZSIsCisgICAgIm1hZ25ldG9tZXRlciIsCisgICAg
Im1pY3JvcGhvbmUiLAorICAgICJtaWRpIiwKKyAgICAibmZjIiwKKyAgICAibm90aWZpY2F0aW9u
cyIsCisgICAgInBlcnNpc3RlbnQtc3RvcmFnZSIsCisgICAgInB1c2giLAorICAgICJzY3JlZW4t
d2FrZS1sb2NrIiwKKyAgICAic3BlYWtlci1zZWxlY3Rpb24iCit9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uT2JzZXJ2ZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk9ic2VydmVyLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjE3YTQxYTliM2M4OWZhMmI4ZTJiZjlkY2FlOWM2YmM2NGU2ZmY2ZQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bk9ic2VydmVyLmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXRlLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IFBlcm1pc3Npb25EZXNjcmlwdG9yOwor
CitjbGFzcyBQZXJtaXNzaW9uT2JzZXJ2ZXIgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UGVybWlz
c2lvbk9ic2VydmVyPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UGVybWlzc2lvbk9ic2VydmVy
KCkgPSBkZWZhdWx0OworCisgICAgdmlydHVhbCB2b2lkIHN0YXRlQ2hhbmdlZChQZXJtaXNzaW9u
U3RhdGUpID0gMDsKKyAgICB2aXJ0dWFsIGNvbnN0IENsaWVudE9yaWdpbiYgb3JpZ2luKCkgPSAw
OworICAgIHZpcnR1YWwgY29uc3QgUGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IoKSA9
IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lY2Fk
ZjUyMDFlMGMzN2IzMGY0YjcyZWEwODA0MDg1ODRiODg4NDg0Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaApAQCAt
MCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYv
RW51bVRyYWl0cy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgUGVybWlz
c2lvblN0YXRlIDogdWludDhfdCB7CisgICAgR3JhbnRlZCwKKyAgICBEZW5pZWQsCisgICAgUHJv
bXB0Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0
ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZT4gewor
ICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Np
b25TdGF0ZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpHcmFudGVkLAorICAg
ICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkRlbmllZCwKKyAgICAgICAgV2ViQ29yZTo6
UGVybWlzc2lvblN0YXRlOjpQcm9tcHQKKyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RG
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Np
b25TdGF0ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Np
b25TdGF0ZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzU3Nzk3ODEyZDE5ODY5ZWYzZTUxYTJkYjllYThhN2Fm
MTY4YWM5YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbApAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
Ly8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNlbnVtZGVmLXBlcm1pc3Npb25z
dGF0ZQorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKK10gZW51bSBQ
ZXJtaXNzaW9uU3RhdGUgeworICAgICJncmFudGVkIiwKKyAgICAiZGVuaWVkIiwKKyAgICAicHJv
bXB0IgorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvblN0YXR1cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25TdGF0dXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4M2IzNDE2OWMzZTQ4ZWVkZTY0NDdm
ODZkODY5ODcyMTgzYzAzZDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuY3BwCkBAIC0wLDAgKzEsODAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXR1
cy5oIgorCisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgorI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgor
I2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFBlcm1pc3Npb25TdGF0dXMpOworCitSZWY8
UGVybWlzc2lvblN0YXR1cz4gUGVybWlzc2lvblN0YXR1czo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSwgUGVybWlzc2lvbkRlc2Ny
aXB0b3IgZGVzY3JpcHRvcikKK3sKKyAgICBhdXRvIHN0YXR1cyA9IGFkb3B0UmVmKCpuZXcgUGVy
bWlzc2lvblN0YXR1cyhjb250ZXh0LCBzdGF0ZSwgZGVzY3JpcHRvcikpOworICAgIHN0YXR1cy0+
c3VzcGVuZElmTmVlZGVkKCk7CisgICAgcmV0dXJuIHN0YXR1czsKK30KKworUGVybWlzc2lvblN0
YXR1czo6UGVybWlzc2lvblN0YXR1cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBQ
ZXJtaXNzaW9uU3RhdGUgc3RhdGUsIFBlcm1pc3Npb25EZXNjcmlwdG9yIGRlc2NyaXB0b3IpCisg
ICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCisgICAgLCBtX3N0YXRlKHN0YXRlKQorICAg
ICwgbV9kZXNjcmlwdG9yKGRlc2NyaXB0b3IpCit7CisgICAgaWYgKGlzPERvY3VtZW50Pihjb250
ZXh0KSkgeworICAgICAgICBpZiAoYXV0byBwYWdlID0gZG93bmNhc3Q8RG9jdW1lbnQ+KCpzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkpLnBhZ2UoKSkgeworICAgICAgICAgICAgbV9jb250cm9sbGVy
ID0gbWFrZVdlYWtQdHIocGFnZS0+cGVybWlzc2lvbkNvbnRyb2xsZXIoKSk7CisgICAgICAgICAg
ICBtX2NvbnRyb2xsZXItPmFkZE9ic2VydmVyKCp0aGlzKTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIGF1dG8qIG9yaWdpbiA9IGNvbnRleHQuc2VjdXJpdHlPcmlnaW4oKTsKKyAgICBhdXRvIG9y
aWdpbkRhdGEgPSBvcmlnaW4gPyBvcmlnaW4tPmRhdGEoKSA6IFNlY3VyaXR5T3JpZ2luRGF0YSB7
IH07CisgICAgbV9vcmlnaW4gPSBDbGllbnRPcmlnaW4geyBjb250ZXh0LnRvcE9yaWdpbigpLmRh
dGEoKSwgb3JpZ2luRGF0YSB9OworfQorCitQZXJtaXNzaW9uU3RhdHVzOjp+UGVybWlzc2lvblN0
YXR1cygpCit7CisgICAgaWYgKG1fY29udHJvbGxlcikKKyAgICAgICAgbV9jb250cm9sbGVyLT5y
ZW1vdmVPYnNlcnZlcigqdGhpcyk7Cit9CisKK3ZvaWQgUGVybWlzc2lvblN0YXR1czo6c3RhdGVD
aGFuZ2VkKFBlcm1pc3Npb25TdGF0ZSBuZXdTdGF0ZSkKK3sKKyAgICBpZiAobV9zdGF0ZSAhPSBu
ZXdTdGF0ZSkKKyAgICAgICAgcXVldWVUYXNrVG9EaXNwYXRjaEV2ZW50KCp0aGlzLCBUYXNrU291
cmNlOjpQZXJtaXNzaW9uLCBFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwg
RXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7Cit9CisKK2Nv
bnN0IGNoYXIqIFBlcm1pc3Npb25TdGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAor
eworICAgIHJldHVybiAiUGVybWlzc2lvblN0YXR1cyI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvblN0YXR1cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uU3RhdHVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjg2YTAzZDVmYTVlOWM5NGFhZWRhODM0ZDJkYjQw
NDlmZTRiOWI4MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5oCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgorI2luY2x1ZGUg
IkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkRlc2NyaXB0b3IuaCIKKyNpbmNs
dWRlICJQZXJtaXNzaW9uTmFtZS5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25PYnNlcnZlci5oIgor
I2luY2x1ZGUgIlBlcm1pc3Npb25TdGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIFBlcm1pc3Npb25Db250cm9sbGVyOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
KworY2xhc3MgUGVybWlzc2lvblN0YXR1cyBmaW5hbCA6IHB1YmxpYyBQZXJtaXNzaW9uT2JzZXJ2
ZXIsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBSZWZDb3VudGVkPFBlcm1pc3Npb25T
dGF0dXM+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSAgeworICAgIFdURl9NQUtF
X0lTT19BTExPQ0FURUQoUGVybWlzc2lvblN0YXR1cyk7CitwdWJsaWM6CisgICAgc3RhdGljIFJl
ZjxQZXJtaXNzaW9uU3RhdHVzPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFBlcm1p
c3Npb25TdGF0ZSwgUGVybWlzc2lvbkRlc2NyaXB0b3IpOworICAgIH5QZXJtaXNzaW9uU3RhdHVz
KCk7CisKKyAgICBQZXJtaXNzaW9uU3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRl
OyB9CisgICAgUGVybWlzc2lvbk5hbWUgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVzY3JpcHRv
ci5uYW1lOyB9CisKKyAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CisgICAgdXNpbmcgUmVmQ291
bnRlZDo6ZGVyZWY7CisKKyAgICB1c2luZyBQZXJtaXNzaW9uT2JzZXJ2ZXI6OndlYWtQdHJGYWN0
b3J5OworICAgIHVzaW5nIFdlYWtWYWx1ZVR5cGUgPSBQZXJtaXNzaW9uT2JzZXJ2ZXI6OldlYWtW
YWx1ZVR5cGU7CisKK3ByaXZhdGU6CisgICAgUGVybWlzc2lvblN0YXR1cyhTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgUGVybWlzc2lvblN0YXRlLCBQZXJtaXNzaW9uRGVzY3JpcHRvcik7CisKKyAg
ICAvLyBQZXJtaXNzaW9uT2JzZXJ2ZXIKKyAgICB2b2lkIHN0YXRlQ2hhbmdlZChQZXJtaXNzaW9u
U3RhdGUpIGZpbmFsOworICAgIGNvbnN0IENsaWVudE9yaWdpbiYgb3JpZ2luKCkgZmluYWwgeyBy
ZXR1cm4gbV9vcmlnaW47IH0KKyAgICBjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3Jp
cHRvcigpIGZpbmFsIHsgcmV0dXJuIG1fZGVzY3JpcHRvcjsgfQorCisgICAgLy8gQWN0aXZlRE9N
T2JqZWN0CisgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFs
OworCisgICAgLy8gRXZlbnRUYXJnZXQKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0
OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KKyAgICBFdmVudFRhcmdldEludGVyZmFjZSBl
dmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFBlcm1pc3Npb25TdGF0
dXNFdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KKyAgICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkg
ZmluYWwgeyByZWYoKTsgfQorICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVy
ZWYoKTsgfQorCisgICAgUGVybWlzc2lvblN0YXRlIG1fc3RhdGU7CisgICAgUGVybWlzc2lvbkRl
c2NyaXB0b3IgbV9kZXNjcmlwdG9yOworICAgIENsaWVudE9yaWdpbiBtX29yaWdpbjsKKyAgICBX
ZWFrUHRyPFBlcm1pc3Npb25Db250cm9sbGVyPiBtX2NvbnRyb2xsZXI7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjc4MTQyZTY5OWUyMGU2
YmU4NmNjNWNlMjA1NmQxZGViNjkyZWQwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbApAQCAtMCwwICsxLDM2
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKyAKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8j
cGVybWlzc2lvbnN0YXR1cworCitbCisgICAgQWN0aXZlRE9NT2JqZWN0LAorICAgIEVuYWJsZWRC
eVNldHRpbmc9UGVybWlzc2lvbnNBUEksCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKK10g
aW50ZXJmYWNlIFBlcm1pc3Npb25TdGF0dXMgOiBFdmVudFRhcmdldCB7CisgICAgcmVhZG9ubHkg
YXR0cmlidXRlIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUg
UGVybWlzc2lvbk5hbWUgbmFtZTsKKyAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uY2hhbmdl
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9ucy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMzViNmFhYjcxZjA4Y2VmYTZmZDE1NTRjZmZhZmQ2MWEwYTRj
YTdlOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbnMuY3BwCkBAIC0wLDAgKzEsOTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbnMuaCIKKworI2luY2x1ZGUgIkV4Y2Vw
dGlvbi5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJy
ZWQuaCIKKyNpbmNsdWRlICJKU1Blcm1pc3Npb25EZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiSlNQ
ZXJtaXNzaW9uU3RhdHVzLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVkZSAiUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChQZXJt
aXNzaW9ucyk7CisKK1JlZjxQZXJtaXNzaW9ucz4gUGVybWlzc2lvbnM6OmNyZWF0ZShOYXZpZ2F0
b3ImIG5hdmlnYXRvcikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJtaXNzaW9ucyhu
YXZpZ2F0b3IpKTsKK30KKworUGVybWlzc2lvbnM6OlBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2
aWdhdG9yKQorICAgIDogbV9uYXZpZ2F0b3IobWFrZVdlYWtQdHIobmF2aWdhdG9yKSkKK3sKK30K
KworTmF2aWdhdG9yKiBQZXJtaXNzaW9uczo6bmF2aWdhdG9yKCkKK3sKKyAgICByZXR1cm4gbV9u
YXZpZ2F0b3IuZ2V0KCk7Cit9CisKK3ZvaWQgUGVybWlzc2lvbnM6OnF1ZXJ5KEpTQzo6U3Ryb25n
PEpTQzo6SlNPYmplY3Q+IHBlcm1pc3Npb25EZXNjcmlwdG9yVmFsdWUsIERPTVByb21pc2VEZWZl
cnJlZDxJRExJbnRlcmZhY2U8UGVybWlzc2lvblN0YXR1cz4+JiYgcHJvbWlzZSkKK3sKKyAgICBh
dXRvIGNvbnRleHQgPSBtX25hdmlnYXRvciA/IG1fbmF2aWdhdG9yLT5zY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkgOiBudWxscHRyOworICAgIGlmICghY29udGV4dCB8fCAhY29udGV4dC0+Z2xvYmFs
T2JqZWN0KCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0
YXRlRXJyb3IgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBKU0M6OlZNJiB2bSA9
IGNvbnRleHQtPmdsb2JhbE9iamVjdCgpLT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJF
X1RIUk9XX1NDT1BFKHZtKTsKKyAgICBpZiAoIXBlcm1pc3Npb25EZXNjcmlwdG9yVmFsdWUpIHsK
KyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgRGF0YUVycm9yLCAiVGhlIHBhcmFt
ZXRlciBpcyBpbnZhbGlkIl9zIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0
byBwYXJhbWV0ZXJEZXNjcmlwdG9yID0gY29udmVydDxJRExEaWN0aW9uYXJ5PFBlcm1pc3Npb25E
ZXNjcmlwdG9yPj4oKmNvbnRleHQtPmdsb2JhbE9iamVjdCgpLCBwZXJtaXNzaW9uRGVzY3JpcHRv
clZhbHVlLmdldCgpKTsKKyAgICBpZiAoVU5MSUtFTFkoc2NvcGUuZXhjZXB0aW9uKCkpKSB7Cisg
ICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEV4aXN0aW5nRXhjZXB0aW9uRXJyb3Ig
fSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvKiBmcmFtZSA9IG1fbmF2aWdh
dG9yLT5mcmFtZSgpOworICAgIGF1dG8qIGRvY3VtZW50ID0gZnJhbWU/IGZyYW1lLT5kb2N1bWVu
dCgpIDogbnVsbHB0cjsKKyAgICBhdXRvKiBwYWdlID0gZnJhbWU/IGZyYW1lLT5wYWdlKCkgOiBu
dWxscHRyOworICAgIGlmICghZnJhbWUgfHwgIWRvY3VtZW50IHx8ICFwYWdlKSB7CisgICAgICAg
IHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH0pOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgYXV0byBwZXJtaXNzaW9uU3RhdGUgPSBwYWdlLT5wZXJt
aXNzaW9uQ29udHJvbGxlcigpLnF1ZXJ5KENsaWVudE9yaWdpbiB7IGRvY3VtZW50LT50b3BPcmln
aW4oKS5kYXRhKCksIGRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSB9LCBQZXJtaXNz
aW9uRGVzY3JpcHRvciB7IHBhcmFtZXRlckRlc2NyaXB0b3IgfSk7CisgICAgcHJvbWlzZS5yZXNv
bHZlKFBlcm1pc3Npb25TdGF0dXM6OmNyZWF0ZSgqY29udGV4dCwgcGVybWlzc2lvblN0YXRlLCBw
YXJhbWV0ZXJEZXNjcmlwdG9yKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MmU4OTU3YWYxMThjYzY2NGRkYjZjNGI1NzRkNmQyNGM3NWM0ZmEwCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5o
CkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
IklETFR5cGVzLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nLmg+CisjaW5jbHVk
ZSA8d3RmL0lzb01hbGxvYy5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFj
ZSBKU0MgeworY2xhc3MgSlNPYmplY3Q7Cit9IC8vIG5hbWVzcGFjZSBKU0MKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBOYXZpZ2F0b3I7CitjbGFzcyBQZXJtaXNzaW9uU3RhdHVzOwor
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisK
K2NsYXNzIFBlcm1pc3Npb25zIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8UGVybWlzc2lvbnM+
IHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFBlcm1pc3Npb25zKTsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUmVmPFBlcm1pc3Npb25zPiBjcmVhdGUoTmF2aWdhdG9yJik7CisKKyAgICBOYXZp
Z2F0b3IqIG5hdmlnYXRvcigpOworICAgIHZvaWQgcXVlcnkoSlNDOjpTdHJvbmc8SlNDOjpKU09i
amVjdD4sIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8UGVybWlzc2lvblN0YXR1cz4+
JiYpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFBlcm1pc3Npb25zKE5hdmlnYXRvciYpOwor
CisgICAgV2Vha1B0cjxOYXZpZ2F0b3I+IG1fbmF2aWdhdG9yOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9ucy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjhhYTYxMmE1MDdiMzgwNTQwYTY3MGJlNjQ1YWI2
NmVmNDM4MWRkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8v
IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jcGVybWlzc2lvbnMtaW50ZXJmYWNl
CisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorICAgIEdlbmVyYXRl
SXNSZWFjaGFibGU9UmVhY2hhYmxlRnJvbU5hdmlnYXRvciwKKyAgICBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlLAorICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpCitdIGludGVyZmFjZSBQZXJt
aXNzaW9ucyB7CisgICAgUHJvbWlzZTxQZXJtaXNzaW9uU3RhdHVzPiBxdWVyeShvYmplY3QgcGVy
bWlzc2lvbkRlc2MpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggNmQ1OWRjM2ZkODc4NGFjMzU3NjBh
ZGRmNWQ5MjA1OGQyNTg0ZDA3Yi4uODkxMDU0OTczMTlhNmIwNGUxOGZlNTJlNDUxZWQ0ZWU5YTRm
MTUyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTIwMyw2ICsyMDMsOSBAQCBNb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50
UmVxdWVzdFVwZGF0ZUV2ZW50LmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVx
dWVzdFV0aWxpdGllcy5jcHAKIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNl
LmNwcAorTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKK01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKK01vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbnMuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRQaWN0dXJl
SW5QaWN0dXJlLmNwcAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVyUGljdHVyZUluUGlj
dHVyZUV2ZW50LmNwcAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0hUTUxWaWRlb0VsZW1lbnRQ
aWN0dXJlSW5QaWN0dXJlLmNwcApAQCAtMzI3Miw2ICszMjc1LDExIEBAIEpTUGVyZm9ybWFuY2VU
aW1pbmcuY3BwCiBKU1BlcmlvZGljV2F2ZS5jcHAKIEpTUGVyaW9kaWNXYXZlQ29uc3RyYWludHMu
Y3BwCiBKU1BlcmlvZGljV2F2ZU9wdGlvbnMuY3BwCitKU1Blcm1pc3Npb25EZXNjcmlwdG9yLmNw
cAorSlNQZXJtaXNzaW9uTmFtZS5jcHAKK0pTUGVybWlzc2lvblN0YXRlLmNwcAorSlNQZXJtaXNz
aW9uU3RhdHVzLmNwcAorSlNQZXJtaXNzaW9ucy5jcHAKIEpTUGljdHVyZUluUGljdHVyZVdpbmRv
dy5jcHAKIEpTUGxheWJhY2tEaXJlY3Rpb24uY3BwCiBKU1BvaW50ZXJFdmVudC5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBk
MGFhMGU4ZDJiOWI5MTA3M2I5ODNhNjhjZjU5ZjdlNjZhMmE1Mzc1Li4zNmFkZWVkNDlkMTBmODdh
NjE4MWQ4MzI4M2ViODc2NDg0OGFkZGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yODgwLDYgKzI4ODAsMTQgQEAKIAkJOTNB
ODA2MTcxRTAzQjUxQzAwOEExRjI2IC8qIExvbmdSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBODA2MTMxRTAzQjUxQzAwOEExRjI2IC8qIExv
bmdSYW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTkzQTgwNjFFMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJhbmdlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4MDYxQTFFMDNCNTg1MDA4
QTFGMjYgLyogSlNEb3VibGVSYW5nZS5oICovOyB9OwogCQk5M0E4MDYyMDFFMDNCNTg1MDA4QTFG
MjYgLyogSlNMb25nUmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzQTgwNjFDMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5oICovOyB9
OworCQk5M0IwQTY1MzI2Q0REMTQxMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjRBMjZD
REQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oICovOyB9OworCQk5M0IwQTY1
NDI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjRCMjZDREQxM0UwMEFBMjFFNCAvKiBQZXJt
aXNzaW9ucy5oICovOyB9OworCQk5M0IwQTY1NjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lv
blN0YXR1cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCAqLzsgfTsKKwkJ
OTNCMEE2NTcyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY0RTI2Q0REMTNG
MDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5M0IwQTY1OTI2Q0REMTQxMDBBQTIxRTQgLyog
UGVybWlzc2lvbk5hbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzQjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjVCMjZD
REQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjUyMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJt
aXNzaW9uU3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk5M0IwQTY3MDI2RDRCNTM5MDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjY5
MjZENDRCN0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjdBMjZENkE0RTkwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjZGMjZENEI1MjkwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
T2JzZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk5M0IyRDgxNjBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjJEODE1MEY5OTIw
RDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzQjM4RUMzMjU4MjFEQjQwMDE5OEU2MyAvKiBX
ZWJTcGVlY2hSZWNvZ25pemVyVGFzay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTNCMzhFQkEyNTgyMTkzQjAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29n
bml6ZXJUYXNrLmggKi87IH07CiAJCTkzQjM4RUM0MjU4MjFEQjcwMDE5OEU2MyAvKiBXZWJTcGVl
Y2hSZWNvZ25pemVyVGFza01vY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzQjM4RUJCMjU4MjE5M0QwMDE5OEU2MyAvKiBXZWJTcGVlY2hSZWNvZ25p
emVyVGFza01vY2suaCAqLzsgfTsKQEAgLTExNzAxLDYgKzExNzA5LDIzIEBACiAJCTkzQTgwNjFB
MUUwM0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTRG91YmxlUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTNBODA2MUIxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9uZ1JhbmdlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTG9uZ1JhbmdlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTNBODA2MUMxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9uZ1Jhbmdl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTG9uZ1JhbmdlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ0MjZDREM1QjYwMEFBMjFFNCAvKiBQZXJt
aXNzaW9uU3RhdGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0ZS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ1MjZDREM1QjYwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0Iw
QTY0NjI2Q0RDNUI3MDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFBlcm1pc3Npb25OYW1lLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOTNCMEE2NDcyNkNEQzVCNzAwQUEyMUU0IC8qIE5hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIk5hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwiOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0ODI2Q0RDNUI3MDBBQTIxRTQgLyogUGVy
bWlzc2lvbnMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcm1pc3Npb25zLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDkyNkNEQzVCODAwQUEyMUU0IC8qIFBl
cm1pc3Npb25TdGF0dXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0
dXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0QTI2Q0REMTNFMDBB
QTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTmF2aWdhdG9yUGVybWlzc2lvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTNCMEE2NEIyNkNERDEzRTAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTkzQjBBNjRDMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNz
aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOYXZpZ2F0b3JQ
ZXJtaXNzaW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjREMjZD
REQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0dXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTNCMEE2NEUyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25EZXNjcmlwdG9yLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRGMjZDREQxNDAwMEFBMjFFNCAv
KiBQZXJtaXNzaW9uU3RhdHVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFBlcm1pc3Npb25TdGF0dXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
M0IwQTY1MDI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbk5hbWUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTNCMEE2NTEyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcm1pc3Npb25zLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NTIyNkNERDE0MTAwQUEyMUU0IC8qIFBl
cm1pc3Npb25TdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNz
aW9uU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NjkyNkQ0NEI3
RjAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1p
c3Npb25Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjZG
MjZENEI1MjkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UGVybWlzc2lvbk9ic2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjJE
ODE1MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTdWRkZW5UZXJtaW5hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5M0IyRDgxNzBGOTkyMEVFMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRp
b24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTdWRkZW5UZXJt
aW5hdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMzhFQjgyNTgyMTg5
OTAwMTk4RTYzIC8qIFNwZWVjaFJlY29nbml6ZXJDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNwZWVjaFJlY29nbml6ZXJDb2NvYS5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIzMTg1LDYgKzIzMjEwLDMwIEBACiAJCQlwYXRoID0gbWFj
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJOTNCMEE2NDIyNkNEQzU3NDAw
QUEyMUU0IC8qIHBlcm1pc3Npb25zICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGls
ZHJlbiA9ICgKKwkJCQk5M0IwQTY0NzI2Q0RDNUI3MDBBQTIxRTQgLyogTmF2aWdhdG9yK1Blcm1p
c3Npb25zLmlkbCAqLywKKwkJCQk5M0IwQTY0QzI2Q0REMTNFMDBBQTIxRTQgLyogTmF2aWdhdG9y
UGVybWlzc2lvbnMuY3BwICovLAorCQkJCTkzQjBBNjRBMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZp
Z2F0b3JQZXJtaXNzaW9ucy5oICovLAorCQkJCTkzQjBBNjY5MjZENDRCN0YwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9uQ29udHJvbGxlci5oICovLAorCQkJCTkzQjBBNjRFMjZDREQxM0YwMEFBMjFFNCAv
KiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oICovLAorCQkJCTkzQjBBNjQ1MjZDREM1QjYwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwgKi8sCisJCQkJOTNCMEE2NTAyNkNERDE0MDAw
QUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmggKi8sCisJCQkJOTNCMEE2NDYyNkNEQzVCNzAwQUEy
MUU0IC8qIFBlcm1pc3Npb25OYW1lLmlkbCAqLywKKwkJCQk5M0IwQTY2RjI2RDRCNTI5MDBBQTIx
RTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggKi8sCisJCQkJOTNCMEE2NTEyNkNERDE0MDAwQUEy
MUU0IC8qIFBlcm1pc3Npb25zLmNwcCAqLywKKwkJCQk5M0IwQTY0QjI2Q0REMTNFMDBBQTIxRTQg
LyogUGVybWlzc2lvbnMuaCAqLywKKwkJCQk5M0IwQTY0ODI2Q0RDNUI3MDBBQTIxRTQgLyogUGVy
bWlzc2lvbnMuaWRsICovLAorCQkJCTkzQjBBNjUyMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uU3RhdGUuaCAqLywKKwkJCQk5M0IwQTY0NDI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lv
blN0YXRlLmlkbCAqLywKKwkJCQk5M0IwQTY0RjI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lv
blN0YXR1cy5jcHAgKi8sCisJCQkJOTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Np
b25TdGF0dXMuaCAqLywKKwkJCQk5M0IwQTY0OTI2Q0RDNUI4MDBBQTIxRTQgLyogUGVybWlzc2lv
blN0YXR1cy5pZGwgKi8sCisJCQkpOworCQkJcGF0aCA9IHBlcm1pc3Npb25zOworCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJOTNCMzhFQjYyNTgyMTgzMzAwMTk4RTYzIC8qIGNv
Y29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTIzNzkw
LDYgKzIzODM5LDcgQEAKIAkJCQk3MUQ2QUEzOTFEQTRFQUY3MDBCMjM5NjkgLyogbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzICovLAogCQkJCTMzM0Y3MDNEMEZCNDlDMTYwMDhFMTJBNiAvKiBub3RpZmlj
YXRpb25zICovLAogCQkJCUExRjc2QjBFMUY0NEMwQ0YwMDE0QzMxOCAvKiBwYXltZW50cmVxdWVz
dCAqLywKKwkJCQk5M0IwQTY0MjI2Q0RDNTc0MDBBQTIxRTQgLyogcGVybWlzc2lvbnMgKi8sCiAJ
CQkJMURFRjA2QTIyMzNDMzJEQjAwRUUyMjhEIC8qIHBpY3R1cmVpbnBpY3R1cmUgKi8sCiAJCQkJ
MDcyQUUxREUxODNDMDUxMzAwMEE1OTg4IC8qIHBsdWdpbnMgKi8sCiAJCQkJQ0RDMzEyRTAyMkZD
RDBCMDAwMTIwNEVDIC8qIHJlbW90ZXBsYXliYWNrICovLApAQCAtMzM3NTcsNiArMzM4MDcsNyBA
QAogCQkJCTZCNTA3QTI0MjM0QkYzNDEwMEJFN0M2MiAvKiBOYXZpZ2F0b3JJc0xvZ2dlZEluLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1RUE3MjVENjFBQ0FCRDU3MDBFQUQxN0IgLyogTmF2aWdhdG9y
TWVkaWFEZXZpY2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzdCQTU3MjI2MEZBMDE0MDA3MkYx
OUYgLyogTmF2aWdhdG9yTWVkaWFTZXNzaW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1
MzI2Q0REMTQxMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTk5NkU1OURGMURGMDEyOEQwMDY2MTJCOSAvKiBOYXZpZ2F0b3JXZWJEcml2ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUUxRUU4Qjc4MjQxMzE5MUYwMEU3OTRENiAvKiBOYXZpZ2F0b3JX
ZWJYUi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEEzMDlDOUYxMjM5NTBCRTAwQ0I5MjA0IC8qIE5l
c3RpbmdMZXZlbEluY3JlbWVudGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTMzOTU2LDYgKzM0MDA3
LDEzIEBACiAJCQkJRkQ1ODFGQjUxNTIwRjkzQjAwM0E3QTc1IC8qIFBlcmlvZGljV2F2ZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTc1NUU4OTIyNEM3NDM0QjAwOUY3QzIzIC8qIFBlcmlvZGljV2F2
ZUNvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNzU1RTg5OTI0Qzc0NjFEMDA5RjdD
MjMgLyogUGVyaW9kaWNXYXZlT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NzAy
NkQ0QjUzOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywK
KwkJCQk5M0IwQTY1NzI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCBp
biBIZWFkZXJzICovLAorCQkJCTkzQjBBNjU5MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
TmFtZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2N0EyNkQ2QTRFOTAwQUEyMUU0IC8qIFBl
cm1pc3Npb25PYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTQyNkNERDE0MTAw
QUEyMUU0IC8qIFBlcm1pc3Npb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1QjI2Q0RE
MTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0Iw
QTY1NjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDlENURDMkUwRjQyM0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3Bl
cmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxREJDMUI1NjIzNDdCM0QyMDBCOTAxQUYgLyog
UGljdHVyZUluUGljdHVyZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxRDJDODJCNzIz
NkEzRjZBMDA1NUQ2QzUgLyogUGljdHVyZUluUGljdHVyZVN1cHBvcnQuaCBpbiBIZWFkZXJzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5O
YW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5o
CmluZGV4IGYxODFjNzk2ZDY1MGNjODZmZTNmMDhhNzIwMDdhNmVkYzJlZmJjNzguLjg1MWEyMTRj
OWE0ODdmZjY4ZDE2YmU3ZGQ4ZmJiNTIwODg3ZWI5MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTE1NCw2ICsxNTQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oTW9ja1JUQ1J0cFRyYW5zZm9ybSkgXAogICAg
IG1hY3JvKE5hdmlnYXRvckNyZWRlbnRpYWxzKSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yTWVkaWFE
ZXZpY2VzKSBcCisgICAgbWFjcm8oTmF2aWdhdG9yUGVybWlzc2lvbnMpIFwKICAgICBtYWNybyhO
YXZpZ2F0b3JVc2VyTWVkaWEpIFwKICAgICBtYWNybyhPZmZsaW5lQXVkaW9Db250ZXh0KSBcCiAg
ICAgbWFjcm8oT2Zmc2NyZWVuQ2FudmFzKSBcCkBAIC0xODIsNiArMTgzLDkgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpIFwKICAgICBtYWNy
byhQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VTZXJ2
ZXJUaW1pbmcpIFwKKyAgICBtYWNybyhQZXJtaXNzaW9uRGVzY3JpcHRvcikgXAorICAgIG1hY3Jv
KFBlcm1pc3Npb25TdGF0dXMpIFwKKyAgICBtYWNybyhQZXJtaXNzaW9ucykgXAogICAgIG1hY3Jv
KFBvaW50ZXJFdmVudCkgXAogICAgIG1hY3JvKFB1YmxpY0tleUNyZWRlbnRpYWwpIFwKICAgICBt
YWNybyhSZXNpemVPYnNlcnZlcikgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rv
cnkuaW4KaW5kZXggNWU1OGYxMTE2NjdlZjYyMTBkNTMxMTBkN2I1NGE4MDJjODQzOTVkOC4uMDEz
Y2VkMDk0NmZmY2Q1MjU5ZmEyNTBiMTYwM2ExOGU0NTllNDU5OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCkBAIC0zNSw2ICszNSw3IEBAIE9mZnNjcmVlbkNhbnZh
cyBjb25kaXRpb25hbD1PRkZTQ1JFRU5fQ0FOVkFTCiBQYXltZW50UmVxdWVzdCBjb25kaXRpb25h
bD1QQVlNRU5UX1JFUVVFU1QKIFBheW1lbnRSZXNwb25zZSBjb25kaXRpb25hbD1QQVlNRU5UX1JF
UVVFU1QKIFBlcmZvcm1hbmNlCitQZXJtaXNzaW9uU3RhdHVzCiBQaWN0dXJlSW5QaWN0dXJlV2lu
ZG93IGNvbmRpdGlvbmFsPVBJQ1RVUkVfSU5fUElDVFVSRV9BUEkKIFJlbW90ZVBsYXliYWNrIGNv
bmRpdGlvbmFsPVdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVAogUlRDRGF0YUNoYW5uZWwgY29uZGl0
aW9uYWw9V0VCX1JUQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UYXNrU291cmNlLmgKaW5kZXggNzEzM2Y2NzhlYTJkOTky
Njk1MTYwMjA4NjRlZjEzZDRmM2VmZDM5OC4uMmRhNDdiYWQ2YzczYTZiYTViZjI4M2I4ZDM1MmY0
MGQyMWFmMDE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGFza1NvdXJjZS5oCkBAIC0zOSw2ICszOSw3IEBAIGVu
dW0gY2xhc3MgVGFza1NvdXJjZSA6IHVpbnQ4X3QgewogICAgIE1pY3JvdGFzaywKICAgICBOZXR3
b3JraW5nLAogICAgIFBlcmZvcm1hbmNlVGltZWxpbmUsCisgICAgUGVybWlzc2lvbiwKICAgICBQ
b3N0ZWRNZXNzYWdlUXVldWUsCiAgICAgU3BlZWNoLAogICAgIFVzZXJJbnRlcmFjdGlvbiwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggOTY0ZTJkZDEyMDcwMzMxYTY1
Y2EzNDFhYzcwZTRiMjg3NDIwMGEwZC4uNTVjYzQ2ZTI1OTE4NDY5ZjMxZDU2YzA0OTZlNDNkZDU1
ZWNmZDVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTYzLDYg
KzYzLDcgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZUNvbmZpZ3VyYXRpb24u
aCIKICNpbmNsdWRlICJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCIKKyNpbmNsdWRlICJQZXJt
aXNzaW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlBsdWdpbkluZm9Qcm92aWRlci5oIgogI2lu
Y2x1ZGUgIlByb2dyZXNzVHJhY2tlckNsaWVudC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2lu
RGF0YS5oIgpAQCAtMTE5Myw3ICsxMTk0LDggQEAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZp
Z3VyYXRpb25XaXRoRW1wdHlDbGllbnRzKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKICAgICAg
ICAgbWFrZVVuaXF1ZVJlZjxFbXB0eUZyYW1lTG9hZGVyQ2xpZW50PigpLAogICAgICAgICBtYWtl
VW5pcXVlUmVmPER1bW15U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4oKSwKICAgICAgICAgbWFr
ZVVuaXF1ZVJlZjxFbXB0eU1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKSwKLSAgICAgICAgRW1wdHlC
cm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmNyZWF0ZSgpCisgICAgICAgIEVtcHR5QnJvYWRjYXN0
Q2hhbm5lbFJlZ2lzdHJ5OjpjcmVhdGUoKSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1teVBl
cm1pc3Npb25Db250cm9sbGVyPigpCiAgICAgfTsKIAogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxFbXB0eUNocm9tZUNsaWVudD4gZHVtbXlDaHJvbWVDbGllbnQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApp
bmRleCBlZWU2OGI3N2UxZTVmY2UxZTU5YzMyOTQzNGE5YTg2MDBiMzY5NzEwLi44NjEwNzhiYTBi
ZjYxODNiNzcxMTQ1YTc0YjQxYmUwN2Q3YjA1NjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTk5
LDYgKzk5LDcgQEAKICNpbmNsdWRlICJQZXJmb3JtYW5jZUxvZ2dpbmcuaCIKICNpbmNsdWRlICJQ
ZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1vbml0b3Iu
aCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlBsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU2NyZWVuLmgiCiAjaW5j
bHVkZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCkBAIC0zMjUsNiArMzI2LDcgQEAgUGFnZTo6UGFn
ZShQYWdlQ29uZmlndXJhdGlvbiYmIHBhZ2VDb25maWd1cmF0aW9uKQogICAgICwgbV9sb2Fkc1N1
YnJlc291cmNlcyhwYWdlQ29uZmlndXJhdGlvbi5sb2Fkc1N1YnJlc291cmNlcykKICAgICAsIG1f
c2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcocGFnZUNvbmZpZ3VyYXRpb24uc2hv
dWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcpCiAgICAgLCBtX2h0dHBzVXBncmFkZUVu
YWJsZWQocGFnZUNvbmZpZ3VyYXRpb24uaHR0cHNVcGdyYWRlRW5hYmxlZCkKKyAgICAsIG1fcGVy
bWlzc2lvbkNvbnRyb2xsZXIoV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5wZXJtaXNzaW9uQ29u
dHJvbGxlcikpCiB7CiAgICAgdXBkYXRlVGltZXJUaHJvdHRsaW5nU3RhdGUoKTsKIApAQCAtMzY5
Myw0ICszNjk1LDkgQEAgdm9pZCBQYWdlOjpyZXNldFRleHRSZWNvZ25pdGlvblJlc3VsdHMoKQog
CiAjZW5kaWYgLy8gRU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCitQZXJtaXNzaW9uQ29udHJvbGxl
ciYgUGFnZTo6cGVybWlzc2lvbkNvbnRyb2xsZXIoKQoreworICAgIHJldHVybiBtX3Blcm1pc3Np
b25Db250cm9sbGVyLmdldCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5oCmluZGV4IDkyNTViZjMxM2M2N2Q3MTQ4MTVjZjc4MTUyNjZmZmQ4MDViMjJmNjAuLjNiMWUy
NjkwNTU2ZGQ0ZjNkMTdhOGViODVmMjRkMDA0MDg4NzQzNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0x
MzEsNiArMTMxLDcgQEAgY2xhc3MgUGF5bWVudENvb3JkaW5hdG9yOwogY2xhc3MgUGVyZm9ybWFu
Y2VMb2dnaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50OwogY2xhc3MgUGVyZm9y
bWFuY2VNb25pdG9yOworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXI7CiBjbGFzcyBQbHVnaW5E
YXRhOwogY2xhc3MgUGx1Z2luSW5mb1Byb3ZpZGVyOwogY2xhc3MgUGx1Z2luVmlld0Jhc2U7CkBA
IC04NzIsNiArODczLDggQEAgcHVibGljOgogICAgIHZvaWQgY2FjaGVUZXh0UmVjb2duaXRpb25S
ZXN1bHQoY29uc3QgSFRNTEVsZW1lbnQmLCBjb25zdCBJbnRSZWN0JiBjb250YWluZXJSZWN0LCBj
b25zdCBUZXh0UmVjb2duaXRpb25SZXN1bHQmKTsKICNlbmRpZgogCisgICAgV0VCQ09SRV9FWFBP
UlQgUGVybWlzc2lvbkNvbnRyb2xsZXImIHBlcm1pc3Npb25Db250cm9sbGVyKCk7CisKIHByaXZh
dGU6CiAgICAgc3RydWN0IE5hdmlnYXRpb24gewogICAgICAgICBSZWdpc3RyYWJsZURvbWFpbiBk
b21haW47CkBAIC0xMTk0LDYgKzExOTcsOCBAQCBwcml2YXRlOgogICAgIGNvbnN0IGJvb2wgbV9o
dHRwc1VwZ3JhZGVFbmFibGVkIHsgdHJ1ZSB9OwogICAgIG11dGFibGUgTWVkaWFTZXNzaW9uR3Jv
dXBJZGVudGlmaWVyIG1fbWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyOwogCisgICAgVW5pcXVl
UmVmPFBlcm1pc3Npb25Db250cm9sbGVyPiBtX3Blcm1pc3Npb25Db250cm9sbGVyOworCiAjaWYg
RU5BQkxFKElNQUdFX0FOQUxZU0lTKQogICAgIC8vIEZJWE1FOiBUaGVzZSBzaG91bGQgYmUgcmVm
YWN0b3JlZCB0byB1c2UgYSB3ZWFrIGhhc2ggbWFwIG9mIEhUTUxFbGVtZW50IHRvIHN0ZDo6cGFp
cjxUZXh0UmVjb2duaXRpb25SZXN1bHQsIEludFNpemU+LgogICAgIFZlY3RvcjxzdGQ6OnBhaXI8
V2Vha1B0cjxIVE1MRWxlbWVudD4sIHN0ZDo6cGFpcjxUZXh0UmVjb2duaXRpb25SZXN1bHQsIElu
dFJlY3Q+Pj4gbV90ZXh0UmVjb2duaXRpb25SZXN1bHRzQnlFbGVtZW50OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAppbmRleCA2NzVlMzY5Y2MxZTJjMmI3N2Q5OWZk
ZDA5MTM0YjE5OGYwY2YzYWYzLi5jYjU2MGZkNDE0YTIzYTc2YjJjYzdiNjBlYTUwMjk5OWE5ODFj
Yzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcApAQCAtNTks
NyArNTksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhZ2VDb25maWd1cmF0aW9uOjpQ
YWdlQ29uZmlndXJhdGlvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0
b3JDbGllbnQ+JiYgZWRpdG9yQ2xpZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJv
dmlkZXIsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlciwg
UmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmIGNhY2hlU3RvcmFnZVByb3ZpZGVyLCBSZWY8VXNl
ckNvbnRlbnRQcm92aWRlcj4mJiB1c2VyQ29udGVudFByb3ZpZGVyLCBSZWY8QmFja0ZvcndhcmRD
bGllbnQ+JiYgYmFja0ZvcndhcmRDbGllbnQsIFJlZjxDb29raWVKYXI+JiYgY29va2llSmFyLCBV
bmlxdWVSZWY8UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmIHByb2dyZXNzVHJhY2tlckNsaWVudCwg
VW5pcXVlUmVmPEZyYW1lTG9hZGVyQ2xpZW50PiYmIGxvYWRlckNsaWVudEZvck1haW5GcmFtZSwg
VW5pcXVlUmVmPFNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+JiYgc3BlZWNoUmVjb2duaXRpb25Q
cm92aWRlciwgVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4mJiBtZWRpYVJlY29yZGVy
UHJvdmlkZXIsIFJlZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYgYnJvYWRjYXN0Q2hhbm5l
bFJlZ2lzdHJ5KQorUGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQs
IFJlZjxTb2NrZXRQcm92aWRlcj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldlYlJU
Q1Byb3ZpZGVyPiYmIGxpYldlYlJUQ1Byb3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+
JiYgY2FjaGVTdG9yYWdlUHJvdmlkZXIsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmIHVzZXJD
b250ZW50UHJvdmlkZXIsIFJlZjxCYWNrRm9yd2FyZENsaWVudD4mJiBiYWNrRm9yd2FyZENsaWVu
dCwgUmVmPENvb2tpZUphcj4mJiBjb29raWVKYXIsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJD
bGllbnQ+JiYgcHJvZ3Jlc3NUcmFja2VyQ2xpZW50LCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGll
bnQ+JiYgbG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1lLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2duaXRp
b25Qcm92aWRlcj4mJiBzcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyLCBVbmlxdWVSZWY8TWVkaWFS
ZWNvcmRlclByb3ZpZGVyPiYmIG1lZGlhUmVjb3JkZXJQcm92aWRlciwgUmVmPEJyb2FkY2FzdENo
YW5uZWxSZWdpc3RyeT4mJiBicm9hZGNhc3RDaGFubmVsUmVnaXN0cnksIFVuaXF1ZVJlZjxQZXJt
aXNzaW9uQ29udHJvbGxlcj4mJiBwZXJtaXNzaW9uQ29udHJvbGxlcikKICAgICA6IHNlc3Npb25J
RChzZXNzaW9uSUQpCiAgICAgLCBlZGl0b3JDbGllbnQoV1RGTW92ZShlZGl0b3JDbGllbnQpKQog
ICAgICwgc29ja2V0UHJvdmlkZXIoV1RGTW92ZShzb2NrZXRQcm92aWRlcikpCkBAIC03Myw2ICs3
Myw3IEBAIFBhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbihQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JDCiAgICAgLCBicm9hZGNhc3RDaGFubmVsUmVn
aXN0cnkoV1RGTW92ZShicm9hZGNhc3RDaGFubmVsUmVnaXN0cnkpKQogICAgICwgc3BlZWNoUmVj
b2duaXRpb25Qcm92aWRlcihXVEZNb3ZlKHNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXIpKQogICAg
ICwgbWVkaWFSZWNvcmRlclByb3ZpZGVyKFdURk1vdmUobWVkaWFSZWNvcmRlclByb3ZpZGVyKSkK
KyAgICAsIHBlcm1pc3Npb25Db250cm9sbGVyKFdURk1vdmUocGVybWlzc2lvbkNvbnRyb2xsZXIp
KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKaW5kZXggMGYy
NTlkNTZkM2ExNDJhMTRlMGVjODUxNGUwZmQ1YjJmZDI5MzBhNS4uZDc1YjcxMDRjMzUwMzkxZjU4
YTk2OGZhZTJlNmUwMzU0NjExNmFjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3Vy
YXRpb24uaApAQCAtNTksNiArNTksNyBAQCBjbGFzcyBMaWJXZWJSVENQcm92aWRlcjsKIGNsYXNz
IE1lZGlhUmVjb3JkZXJQcm92aWRlcjsKIGNsYXNzIFBheW1lbnRDb29yZGluYXRvckNsaWVudDsK
IGNsYXNzIFBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudDsKK2NsYXNzIFBlcm1pc3Npb25Db250cm9s
bGVyOwogY2xhc3MgUGx1Z2luSW5mb1Byb3ZpZGVyOwogY2xhc3MgUHJvZ3Jlc3NUcmFja2VyQ2xp
ZW50OwogY2xhc3MgU29ja2V0UHJvdmlkZXI7CkBAIC03NCw3ICs3NSw3IEBAIGNsYXNzIFNwZWVj
aFN5bnRoZXNpc0NsaWVudDsKIGNsYXNzIFBhZ2VDb25maWd1cmF0aW9uIHsKICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQYWdlQ29uZmlndXJhdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIFBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vz
c2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmLCBSZWY8U29ja2V0UHJvdmlkZXI+JiYs
IFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVy
PiYmLCBSZWY8VXNlckNvbnRlbnRQcm92aWRlcj4mJiwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYm
LCBSZWY8Q29va2llSmFyPiYmLCBVbmlxdWVSZWY8UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmLCBV
bmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+JiYsIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlv
blByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPiYmLCBSZWY8QnJv
YWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmln
dXJhdGlvbihQQUw6OlNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiwgUmVmPFNv
Y2tldFByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYsIFJlZjxDYWNo
ZVN0b3JhZ2VQcm92aWRlcj4mJiwgUmVmPFVzZXJDb250ZW50UHJvdmlkZXI+JiYsIFJlZjxCYWNr
Rm9yd2FyZENsaWVudD4mJiwgUmVmPENvb2tpZUphcj4mJiwgVW5pcXVlUmVmPFByb2dyZXNzVHJh
Y2tlckNsaWVudD4mJiwgVW5pcXVlUmVmPEZyYW1lTG9hZGVyQ2xpZW50PiYmLCBVbmlxdWVSZWY8
U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4mJiwgVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92
aWRlcj4mJiwgUmVmPEJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4mJiwgVW5pcXVlUmVmPFBlcm1p
c3Npb25Db250cm9sbGVyPiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB+UGFnZUNvbmZpZ3VyYXRp
b24oKTsKICAgICBQYWdlQ29uZmlndXJhdGlvbihQYWdlQ29uZmlndXJhdGlvbiYmKTsKIApAQCAt
MTM4LDYgKzEzOSw4IEBAIHB1YmxpYzoKICAgICBib29sIHVzZXJTY3JpcHRzU2hvdWxkV2FpdFVu
dGlsTm90aWZpY2F0aW9uIHsgdHJ1ZSB9OwogICAgIFNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tp
ZUJsb2NraW5nIHNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nIHsgU2hvdWxkUmVs
YXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmc6Ok5vIH07CiAgICAgYm9vbCBodHRwc1VwZ3JhZGVF
bmFibGVkIHsgdHJ1ZSB9OworCisgICAgVW5pcXVlUmVmPFBlcm1pc3Npb25Db250cm9sbGVyPiBw
ZXJtaXNzaW9uQ29udHJvbGxlcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IDY2YWVkYTQzYzgy
ZDhiZmIzMzViYmZlZjYwOTVkMDRlZmFkYjg2MjAuLmE3NDVkNzIwMTVjZmMxOTVmYjk2ZjJjYzU1
ODU4YTgzMWI3NTBlYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysr
IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtNjk0LDYgKzY5NCw3IEBAIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViTWVkaWFLZXlTeXN0ZW1DbGllbnQuY3BwCiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmNwcAogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAKK1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwCiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKIFdlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViUG9wdXBNZW51LmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAppbmRleCA1ZmIzMDg5NTAxNTYyNDg2NjYxNTNjNjI0ZjQwMzRlYTRhODg0ZmRm
Li45YTgyOTZiOThkNWJiMGRiNjNhNzgwZjE1YmYzNDIzM2U3ZTQzYzFlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTE3Miw2ICsxNzIsNyBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvTUlNRVR5cGVSZWdpc3RyeS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFT
dHJlYW1SZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QZXJmb3JtYW5jZUxvZ2dpbmdDbGll
bnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1pc3Npb25TdGF0ZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUGxhdGZvcm1FdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1B1YmxpY1N1ZmZpeC5oPgpAQCAtODQ5Myw2
ICs4NDk0LDEyIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXZva2VHZW9sb2NhdGlvbkF1dGhvcml6
YXRpb25Ub2tlbihjb25zdCBTdHJpbmcmIGF1dGhvcml6YXRpCiAgICAgbV9nZW9sb2NhdGlvblBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlci5yZXZva2VBdXRob3JpemF0aW9uVG9rZW4oYXV0aG9yaXph
dGlvblRva2VuKTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RQZXJtaXNzaW9uKGNv
bnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNj
cmlwdG9yJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIC8vIEZJWE1FOiBTaG93IGEgcHJvbXB0IGZv
ciB1c2VyIGlucHV0LgorICAgIGNvbXBsZXRpb25IYW5kbGVyKFBlcm1pc3Npb25TdGF0ZTo6R3Jh
bnRlZCk7Cit9CisKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkmIFdlYlBhZ2VQcm94eTo6dXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5k
ZXggZWExYzIyZmI2YjExYmU5Njg5OTI4MjY0ZDNiZjNmYzg0NzEwOWI4ZC4uNDYxYWFjYjg4ODZh
NTIzMWNjYWFmZjA3NGYyYTFhNTRjMDE3N2Q3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKQEAgLTI5NCw2ICsyOTQsNyBAQCBzdHJ1Y3QgTGlua0ljb247CiBzdHJ1Y3Qg
TWVkaWFTdHJlYW1SZXF1ZXN0Owogc3RydWN0IE1lZGlhVXNhZ2VJbmZvOwogc3RydWN0IE1vY2tX
ZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb247CitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0
b3I7CiBzdHJ1Y3QgUHJld2FybUluZm9ybWF0aW9uOwogc3RydWN0IFNlY3VyaXR5T3JpZ2luRGF0
YTsKIHN0cnVjdCBTaGFyZURhdGE7CkBAIC0yMTE3LDYgKzIxMTgsNyBAQCBwcml2YXRlOgogCiAg
ICAgdm9pZCByZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoR2VvbG9jYXRpb25J
ZGVudGlmaWVyLCBGcmFtZUluZm9EYXRhJiYpOwogICAgIHZvaWQgcmV2b2tlR2VvbG9jYXRpb25B
dXRob3JpemF0aW9uVG9rZW4oY29uc3QgU3RyaW5nJiBhdXRob3JpemF0aW9uVG9rZW4pOworICAg
IHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29u
c3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYpOwogCiAjaWYgUExBVEZPUk0oR1RLKSB8fCBQ
TEFURk9STShXUEUpCiAgICAgdm9pZCBzZW5kTWVzc2FnZVRvV2ViVmlldyhVc2VyTWVzc2FnZSYm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bgppbmRleCBiYzM3YjhmYzZhZGYzZWFkMTg3MmQxMTU1ZmYwY2JkMDA5ZGMwYWY5Li4wN2UwZjU0
ODAzNDY5NzAzYTZmNzM3ZDk5MzA3YjFlYzczNTBjZDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC02MDIsNCArNjAyLDYgQEAg
bWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVX
X01BQykKICAgICBNb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KHN0cnVjdCBXZWJDb3JlOjpF
bGVtZW50Q29udGV4dCBlbGVtZW50Q29udGV4dCwgVVJMIHVybCwgU3RyaW5nIHV1aWQsIFdlYkNv
cmU6OkZsb2F0U2l6ZSBzaXplKQogI2VuZGlmCisKKyAgICByZXF1ZXN0UGVybWlzc2lvbihzdHJ1
Y3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdpbiwgc3RydWN0IFdlYkNvcmU6OlBlcm1pc3Np
b25EZXNjcmlwdG9yIGRlc2NyaXB0b3IpIC0+IChlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6UGVybWlz
c2lvblN0YXRlIHN0YXRlKSBBc3luYwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZmUzZDMyYjMyOTVjMmM0NGZkNDQ0NGNkZDdmMTQx
ZjI0MDA0Y2EwMi4uZmI2OGEzYmQxNmQyNzM4MmNkMzNjOTNiMTBiZWJlMjkzYjMzYTUwNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
NDk2LDYgKzE0OTYsNyBAQAogCQk5M0FCOUI0RTI1NzU2N0UyMDA5OEIxMEUgLyogU3BlZWNoUmVj
b2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0FCOUI0MjI1NzQ5MjhDMDA5OEIxMEUgLyogU3Bl
ZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlLmggKi87IH07CiAJCTkzQUI5
QjU1MjU3NUEyNzYwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1lTWVkaWFTb3Vy
Y2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzQUI5QjRGMjU3NTg5MTEwMDk4QjEwRSAvKiBTcGVlY2hSZWNv
Z25pdGlvblJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsg
fTsKIAkJOTNBQjlCNTYyNTc1QTI4QjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3Rl
UmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBQjlCNTEyNTc1ODkxMTAwOThC
MTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQk5M0IwQTY3NTI2RDVBRENGMDBBQTIxRTQgLyog
V2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzQjBBNjc0MjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9u
Q29udHJvbGxlci5oICovOyB9OwogCQk5M0IyNjE0RDIyN0QxNDlFMDBCOTdBNzYgLyogU3RvcmFn
ZU1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzQjI2MTQ5MjI3RDE0NzIwMEI5N0E3NiAvKiBTdG9yYWdlTWFuYWdlci5oICovOyB9OwogCQk5
M0IyNjE0RTIyN0QxNEIxMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjI2MTQ1MjI3RDE0NzAw
MEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZS5oICovOyB9OwogCQk5M0IyNjE0RjIyN0Qx
NEIxMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IyNjE0NjIyN0QxNDcxMDBCOTdB
NzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmggKi87IH07CkBAIC00OTE0LDYgKzQ5
MTUsMTAgQEAKIAkJOTNBQjlCNTIyNTc1ODkxMjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9u
UmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGlt
ZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5M0FCOUI1MzI1NzU4OTEyMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25S
ZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNv
dXJjZU1hbmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0FC
OUI1NDI1NzU4OTEyMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291
cmNlTWFuYWdlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNw
ZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY2RDI2RDQ1MTUwMDBBQTIxRTQgLyogUGVy
bWlzc2lvbk1hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UGVybWlzc2lvbk1hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0Iw
QTY2RTI2RDQ1MTUwMDBBQTIxRTQgLyogUGVybWlzc2lvbk1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbk1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NzMyNkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25D
b250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlBl
cm1pc3Npb25Db250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNC
MEE2NzQyNkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjI2MTQ1MjI3RDE0NzAwMEI5N0E3NiAvKiBM
b2NhbFN0b3JhZ2VEYXRhYmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBM
b2NhbFN0b3JhZ2VEYXRhYmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0Iy
NjE0NjIyN0QxNDcxMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IyNjE0NzIyN0QxNDcxMDBCOTdB
NzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05NjIzLDYgKzk2MjgsMTUgQEAKIAkJCXBhdGggPSBT
cGVlY2g7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk5M0IwQTY2QzI2RDQ1
MTFGMDBBQTIxRTQgLyogUGVybWlzc2lvbiAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJOTNCMEE2NkQyNkQ0NTE1MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25N
YW5hZ2VyLmNwcCAqLywKKwkJCQk5M0IwQTY2RTI2RDQ1MTUwMDBBQTIxRTQgLyogUGVybWlzc2lv
bk1hbmFnZXIuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gUGVybWlzc2lvbjsKKwkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTkzQjI2MTQzMjI3RDE0MzEwMEI5N0E3NiAvKiBXZWJT
dG9yYWdlICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTk4
NjMsNiArOTg3Nyw3IEBACiAJCQkJNEE0MTBGNDExOUFGN0IyNzAwMkVCQUI1IC8qIE1lZGlhU3Ry
ZWFtICovLAogCQkJCTUxMDVCMEQyMTYyRjdBNUUwMEUyNzcwOSAvKiBOZXR3b3JrICovLAogCQkJ
CTMxMDk5OTc0MTQ2QzhBQTgwMDI5REVCOSAvKiBOb3RpZmljYXRpb25zIChVc2VyKSAqLywKKwkJ
CQk5M0IwQTY2QzI2RDQ1MTFGMDBBQTIxRTQgLyogUGVybWlzc2lvbiAqLywKIAkJCQkxQTZGQjdB
QTExRTY0QjQ5MDBEQjEzNzEgLyogUGx1Z2lucyAqLywKIAkJCQk5M0FCOUI0ODI1NzRDNUNFMDA5
OEIxMEUgLyogU3BlZWNoICovLAogCQkJCTUxMThFOTk4MUYyOTUyNTkwMDNFRjlGNSAvKiBTdG9y
YWdlICovLApAQCAtOTkzMyw2ICs5OTQ4LDggQEAKIAkJCQk1MTIxMjdDMjE5MDgyMzlBMDBEQUYz
NUMgLyogV2ViUGFzdGVib2FyZE92ZXJyaWRlcy5oICovLAogCQkJCTBGODUwRkU0MUVEN0MzOUYw
MEZCNzdBNyAvKiBXZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwICovLAogCQkJCTBGODUw
RkU1MUVEN0MzOUYwMEZCNzdBNyAvKiBXZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaCAqLywK
KwkJCQk5M0IwQTY3MzI2RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIu
Y3BwICovLAorCQkJCTkzQjBBNjc0MjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29u
dHJvbGxlci5oICovLAogCQkJCTFBM0U3MzYwMTFDQzI2NTkwMDdCRDUzOSAvKiBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMuY3BwICovLAogCQkJCTFBM0U3MzVGMTFDQzI2NTkwMDdCRDUzOSAvKiBXZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuaCAqLywKIAkJCQlEM0I5NDg0MjExRkY0QjY1MDAwMzJCMzkgLyog
V2ViUG9wdXBNZW51LmNwcCAqLywKQEAgLTEyNjYyLDYgKzEyNjc5LDcgQEAKIAkJCQlBMTc5OEI0
QzIyMkYxQkQ0MDAwNzY0QkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUFCMUY3OTkxRDFCMzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRD
b29yZGluYXRvclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGODUwRkU3MUVE
N0MzOUYwMEZCNzdBNyAvKiBXZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTkzQjBBNjc1MjZENUFEQ0YwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJv
bGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEzRTczNjExMUNDMjY1OTAwN0JENTM5IC8qIFdl
YlBsYXRmb3JtU3RyYXRlZ2llcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1NzQ0RjAxMjYzOEZC
MzAwNkYwRjEyIC8qIFdlYlBvcHVwSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNCOTQ4NDcx
MUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lv
bkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYjkwMzU4ZDFjYjE2OWFj
NWU3YmIzYTRiNzc5ZWVhZTk2NTYwMDUzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcApA
QCAtMCwwICsxLDEzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBlcm1pc3Npb25Db250cm9sbGVyKFdlYlBhZ2Um
IHBhZ2UpCisgICAgOiBtX3BhZ2UobWFrZVdlYWtQdHIocGFnZSkpCit7Cit9CisKK1Blcm1pc3Np
b25TdGF0ZSBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVlcnkoV2ViQ29yZTo6Q2xpZW50T3Jp
Z2luJiYgb3JpZ2luLCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmIGRlc2NyaXB0b3Ip
Cit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybiBXZWJDb3JlOjpQZXJtaXNzaW9u
U3RhdGU6OkRlbmllZDsKKworICAgIHJldHVybiBxdWVyeUNhY2hlKFdURk1vdmUob3JpZ2luKSwg
V1RGTW92ZShkZXNjcmlwdG9yKSk7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6
OnJlcXVlc3QoQ2xpZW50T3JpZ2luJiYgb3JpZ2luLCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3Jp
cHRvciYmIGRlc2NyaXB0b3IsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUGVybWlzc2lvblN0YXRl
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0
dXJuIGNvbXBsZXRpb25IYW5kbGVyKFBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkKTsKKworICAgIGF1
dG8gY2FjaGVkUmVzdWx0ID0gcXVlcnlDYWNoZShvcmlnaW4sIGRlc2NyaXB0b3IpOworICAgIGlm
IChjYWNoZWRSZXN1bHQgIT0gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpQcm9tcHQpCisgICAg
ICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihjYWNoZWRSZXN1bHQpOworCisgICAgbV9yZXF1
ZXN0cy5hcHBlbmQoUGVybWlzc2lvblJlcXVlc3QgeyBXVEZNb3ZlKG9yaWdpbiksIFdURk1vdmUo
ZGVzY3JpcHRvciksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpIH0pOworICAgIHRyeVByb2Nl
c3NpbmdSZXF1ZXN0KCk7Cit9CisKK1Blcm1pc3Npb25TdGF0ZSBXZWJQZXJtaXNzaW9uQ29udHJv
bGxlcjo6cXVlcnlDYWNoZShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mIG9yaWdpbiwgY29u
c3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCit7CisgICAgaWYg
KG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXMuY29udGFpbnMob3JpZ2luKSkgeworICAgICAgICBh
dXRvIHBlcm1pc3Npb25FbnRyaWVzID0gbV9jYWNoZWRQZXJtaXNzaW9uRW50cmllcy5nZXQob3Jp
Z2luKTsKKyAgICAgICAgZm9yIChhdXRvJiBlbnRyeSA6IHBlcm1pc3Npb25FbnRyaWVzKSB7Cisg
ICAgICAgICAgICBpZiAoZW50cnkuZmlyc3QgPT0gZGVzY3JpcHRvcikKKyAgICAgICAgICAgICAg
ICByZXR1cm4gZW50cnkuc2Vjb25kOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIFdl
YkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0OworfQorCit2b2lkIFdlYlBlcm1pc3Npb25D
b250cm9sbGVyOjp1cGRhdGVDYWNoZShjb25zdCBDbGllbnRPcmlnaW4mIG9yaWdpbiwgY29uc3Qg
V2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIFdlYkNvcmU6OlBlcm1p
c3Npb25TdGF0ZSBzdGF0ZSkKK3sKKyAgICBhdXRvJiBlbnRyaWVzID0gbV9jYWNoZWRQZXJtaXNz
aW9uRW50cmllcy5lbnN1cmUob3JpZ2luLCBbJl0oKSB7CisgICAgICAgIHJldHVybiBWZWN0b3I8
UGVybWlzc2lvbkVudHJ5PiB7IH07CisgICAgfSkuaXRlcmF0b3ItPnZhbHVlOworICAgIGZvciAo
YXV0byYgZW50cnkgOiBlbnRyaWVzKSB7CisgICAgICAgIGlmIChlbnRyeS5maXJzdCA9PSBkZXNj
cmlwdG9yKSB7CisgICAgICAgICAgICBpZiAoZW50cnkuc2Vjb25kID09IHN0YXRlKQorICAgICAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgZW50cnkuc2Vjb25kID0gc3RhdGU7Cisg
ICAgICAgICAgICBwZXJtaXNzaW9uQ2hhbmdlZChvcmlnaW4sIGRlc2NyaXB0b3IsIHN0YXRlKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBXZWJQZXJt
aXNzaW9uQ29udHJvbGxlcjo6dHJ5UHJvY2Vzc2luZ1JlcXVlc3QoKQoreworICAgIGlmIChtX3Jl
cXVlc3RzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2hpbGUgKCFtX3JlcXVl
c3RzLmlzRW1wdHkoKSkgeworICAgICAgICBhdXRvJiBjdXJyZW50UmVxdWVzdCA9IG1fcmVxdWVz
dHMuZmlyc3QoKTsKKyAgICAgICAgaWYgKGN1cnJlbnRSZXF1ZXN0LmlzV2FpdGluZ0ZvclJlcGx5
KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIC8vIENhY2hlIG1heSBoYXZlIGNoYW5n
ZWQgYmV0d2VlbiByZXF1ZXN0cy4KKyAgICAgICAgYXV0byBjYWNoZWRSZXN1bHQgPSBxdWVyeUNh
Y2hlKGN1cnJlbnRSZXF1ZXN0Lm9yaWdpbiwgY3VycmVudFJlcXVlc3QuZGVzY3JpcHRvcik7Cisg
ICAgICAgIGlmIChjYWNoZWRSZXN1bHQgIT0gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpQcm9t
cHQpIHsKKyAgICAgICAgICAgIGF1dG8gdGFrZW5SZXF1ZXN0ID0gbV9yZXF1ZXN0cy50YWtlRmly
c3QoKTsKKyAgICAgICAgICAgIHRha2VuUmVxdWVzdC5jb21wbGV0aW9uSGFuZGxlcihjYWNoZWRS
ZXN1bHQpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBjdXJy
ZW50UmVxdWVzdC5pc1dhaXRpbmdGb3JSZXBseSA9IHRydWU7CisgICAgICAgIG1fcGFnZS0+c2Vu
ZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OnJlcXVlc3RQZXJtaXNzaW9u
KGN1cnJlbnRSZXF1ZXN0Lm9yaWdpbiwgY3VycmVudFJlcXVlc3QuZGVzY3JpcHRvciksIFt0aGlz
LCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0oYXV0byBzdGF0ZSkgeworICAgICAgICAg
ICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAg
IGF1dG8gdGFrZW5SZXF1ZXN0ID0gbV9yZXF1ZXN0cy50YWtlRmlyc3QoKTsKKyAgICAgICAgICAg
IHRha2VuUmVxdWVzdC5jb21wbGV0aW9uSGFuZGxlcihzdGF0ZSk7CisgICAgICAgICAgICB1cGRh
dGVDYWNoZSh0YWtlblJlcXVlc3Qub3JpZ2luLCB0YWtlblJlcXVlc3QuZGVzY3JpcHRvciwgc3Rh
dGUpOworCisgICAgICAgICAgICB0cnlQcm9jZXNzaW5nUmVxdWVzdCgpOworICAgICAgICB9KTsK
KyAgICB9Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OmFkZE9ic2VydmVyKFdl
YkNvcmU6OlBlcm1pc3Npb25PYnNlcnZlciYgb2JzZXJ2ZXIpCit7CisgICAgbV9vYnNlcnZlcnMu
YWRkKG9ic2VydmVyKTsKK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cmVtb3Zl
T2JzZXJ2ZXIoV2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICBt
X29ic2VydmVycy5yZW1vdmUob2JzZXJ2ZXIpOworfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250
cm9sbGVyOjpwZXJtaXNzaW9uQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mIG9y
aWdpbiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIFdl
YkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBzdGF0ZSkKK3sKKyAgICBmb3IgKGF1dG8mIG9ic2VydmVy
IDogbV9vYnNlcnZlcnMpIHsKKyAgICAgICAgaWYgKG9ic2VydmVyLm9yaWdpbigpID09IG9yaWdp
biAmJiBvYnNlcnZlci5kZXNjcmlwdG9yKCkgPT0gZGVzY3JpcHRvcikKKyAgICAgICAgICAgIG9i
c2VydmVyLnN0YXRlQ2hhbmdlZChzdGF0ZSk7CisgICAgfQorfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGM2ZDUx
MGM3MTBlNTNlOTZhYzZiNDgyNTc3ZDNlNDI3YWRiYjFkZAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJv
bGxlci5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgPFdlYkNvcmUvUGVybWlzc2lvbkNvbnRyb2xsZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1Blcm1pc3Npb25EZXNjcmlwdG9yLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBX
ZWJQZXJtaXNzaW9uQ29udHJvbGxlciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpQZXJtaXNzaW9u
Q29udHJvbGxlciB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgV2ViUGVybWlzc2lvbkNvbnRyb2xs
ZXIoV2ViUGFnZSYpOworCitwcml2YXRlOgorICAgIC8vIFdlYkNvcmU6OlBlcm1pc3Npb25Db250
cm9sbGVyCisgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHF1ZXJ5KFdlYkNvcmU6OkNsaWVu
dE9yaWdpbiYmLCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmKSBmaW5hbDsKKyAgICB2
b2lkIHJlcXVlc3QoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlBlcm1pc3Npb25E
ZXNjcmlwdG9yJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0
YXRlKT4mJikgZmluYWw7CisgICAgdm9pZCBhZGRPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9u
T2JzZXJ2ZXImKSBmaW5hbDsKKyAgICB2b2lkIHJlbW92ZU9ic2VydmVyKFdlYkNvcmU6OlBlcm1p
c3Npb25PYnNlcnZlciYpIGZpbmFsOworCisgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHF1
ZXJ5Q2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6UGVy
bWlzc2lvbkRlc2NyaXB0b3ImKTsKKyAgICB2b2lkIHVwZGF0ZUNhY2hlKGNvbnN0IFdlYkNvcmU6
OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiwgV2Vi
Q29yZTo6UGVybWlzc2lvblN0YXRlKTsKKyAgICB2b2lkIHRyeVByb2Nlc3NpbmdSZXF1ZXN0KCk7
CisgICAgdm9pZCBwZXJtaXNzaW9uQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4m
LCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIFdlYkNvcmU6OlBlcm1pc3Np
b25TdGF0ZSk7CisKKyAgICBXZWFrUHRyPFdlYlBhZ2U+IG1fcGFnZTsKKyAgICBXZWFrSGFzaFNl
dDxXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXI+IG1fb2JzZXJ2ZXJzOworCisgICAgdXNpbmcg
UGVybWlzc2lvbkVudHJ5ID0gc3RkOjpwYWlyPFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9y
LCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU+OworICAgIEhhc2hNYXA8V2ViQ29yZTo6Q2xpZW50
T3JpZ2luLCBWZWN0b3I8UGVybWlzc2lvbkVudHJ5Pj4gbV9jYWNoZWRQZXJtaXNzaW9uRW50cmll
czsKKworICAgIHN0cnVjdCBQZXJtaXNzaW9uUmVxdWVzdCB7CisgICAgICAgIFdlYkNvcmU6OkNs
aWVudE9yaWdpbiBvcmlnaW47CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9y
IGRlc2NyaXB0b3I7CisgICAgICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXRlKT4gY29tcGxldGlvbkhhbmRsZXI7CisgICAgICAgIGJvb2wgaXNXYWl0aW5n
Rm9yUmVwbHkgeyBmYWxzZSB9OworICAgIH07CisgICAgRGVxdWU8UGVybWlzc2lvblJlcXVlc3Q+
IG1fcmVxdWVzdHM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDA0ZTNhZTIwMTQzZjJmM2Ri
ZDIwNjRhMzAyZjAxYjg0ZWRjYTk2NDUuLjcxMWVkOGU5MjI3NmViOTMxZjU0NDVjNzRmZDZjM2Iw
ZTllYjU0MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCkBAIC0xMjEsNiArMTIxLDcgQEAKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5o
IgogI2luY2x1ZGUgIldlYlBheW1lbnRDb29yZGluYXRvci5oIgogI2luY2x1ZGUgIldlYlBlcmZv
cm1hbmNlTG9nZ2luZ0NsaWVudC5oIgorI2luY2x1ZGUgIldlYlBlcm1pc3Npb25Db250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiV2ViUGx1Z2luSW5mb1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV2ViUG9w
dXBNZW51LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIgpAQCAtNTYz
LDcgKzU2NCw4IEBAIFdlYlBhZ2U6OldlYlBhZ2UoUGFnZUlkZW50aWZpZXIgcGFnZUlELCBXZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICAgICAgbWFrZVVuaXF1ZVJl
ZjxXZWJGcmFtZUxvYWRlckNsaWVudD4obV9tYWluRnJhbWUuY29weVJlZigpKSwKICAgICAgICAg
bWFrZVVuaXF1ZVJlZjxXZWJTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPihtX2lkZW50aWZpZXIp
LAogICAgICAgICBtYWtlVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKnRoaXMpLAot
ICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5icm9hZGNhc3RDaGFubmVsUmVnaXN0cnko
KQorICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5icm9hZGNhc3RDaGFubmVsUmVnaXN0
cnkoKSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJQZXJtaXNzaW9uQ29udHJvbGxlcj4oKnRo
aXMpCiAgICAgKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2Vi
Q2hyb21lQ2xpZW50KCp0aGlzKTsKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVzaE1v
bml0b3JNYWMuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5
UmVmcmVzaE1vbml0b3JNYWMuaAppbmRleCBiYmY4ZDFiYjhjZTZjMzAxZGMzZWYyMDE5NTNkODJm
ZWMwNWVkZDU4Li41NmJjODFjNzhmMzRhYTQ1MzQ3OTM1ZDI3MWVjNTcwYzNmYzdlZTUyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJl
c2hNb25pdG9yTWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCkBAIC01MCw3ICs1MCw3IEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBzdGFydE5vdGlmaWNhdGlvbk1lY2hhbmlzbSgpIGZpbmFsOwogICAgIHZvaWQgc3Rv
cE5vdGlmaWNhdGlvbk1lY2hhbmlzbSgpIGZpbmFsOwogCi0gICAgdm9pZCBhZGp1c3RQcmVmZXJy
ZWRGcmFtZXNQZXJTZWNvbmQoRnJhbWVzUGVyU2Vjb25kKSBmaW5hbDsKKyAgICB2b2lkIGFkanVz
dFByZWZlcnJlZEZyYW1lc1BlclNlY29uZChXZWJDb3JlOjpGcmFtZXNQZXJTZWNvbmQpIGZpbmFs
OwogCiAgICAgRGlzcGxheUxpbmtPYnNlcnZlcklEIG1fb2JzZXJ2ZXJJRDsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8V2ViQ29yZTo6UnVuTG9vcE9ic2VydmVyPiBtX3J1bkxvb3BPYnNlcnZlcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBjZDZhNWY1NzI5
OTRmN2VjNGZiZGU3NjM3ZGY4NjdiZDUyZjNjODM0Li40ODAzZWJjOWVjNzdlODhlMTViMjhlMmJl
ZGMxNmQ2NzNhNzI4OWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCkBAIC0xOTUsNiArMTk1LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGFnZS5oPgogI2lt
cG9ydCA8V2ViQ29yZS9QYWdlQ29uZmlndXJhdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYXRo
VXRpbGl0aWVzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1Blcm1pc3Npb25Db250cm9sbGVyLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1BsYXRmb3JtU2NyZWVuLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Byb2dyZXNzVHJhY2tlci5o
PgpAQCAtMTUzNiw3ICsxNTM3LDggQEAgc3RhdGljIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUdhbWVw
YWRQcm92aWRlcklmTmVjZXNzYXJ5KCkKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJGcmFtZUxv
YWRlckNsaWVudD4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpEdW1teVNwZWVj
aFJlY29nbml0aW9uUHJvdmlkZXI+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6
TWVkaWFSZWNvcmRlclByb3ZpZGVyPigpLAotICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVn
aXN0cnk6OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZF0pCisgICAgICAgIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUo
W1tzZWxmIHByZWZlcmVuY2VzXSBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSksCisgICAgICAgIG1h
a2VVbmlxdWVSZWY8V2ViQ29yZTo6RHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlcj4oKQogICAgICk7
CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21l
Q2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudChzZWxmKTsKQEAgLTE4MTQsNyArMTgxNiw4IEBA
IHN0YXRpYyB2b2lkIFdlYktpdEluaXRpYWxpemVHYW1lcGFkUHJvdmlkZXJJZk5lY2Vzc2FyeSgp
CiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KCksCiAgICAgICAg
IG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigp
LAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcm92aWRlcj4o
KSwKLSAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShbW3Nl
bGYgcHJlZmVyZW5jZXNdIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdKQorICAgICAgICBXZWJCcm9h
ZGNhc3RDaGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNlc10gcHJp
dmF0ZUJyb3dzaW5nRW5hYmxlZF0pLAorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1
bW15UGVybWlzc2lvbkNvbnRyb2xsZXI+KCkKICAgICApOwogICAgIHBhZ2VDb25maWd1cmF0aW9u
LmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnRJT1Moc2VsZik7CiAjaWYgRU5BQkxF
KERSQUdfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmMTM1ZmRjMzA5NzU2MDk3NmRhODA4Yzk5ODlmMDA3M2Jj
OTFkNGU5Li44OGFiYjAzYjZiNmYzODJlMWIzMTZiZjliYWMyZjNjZjQwODUyNDAyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1u
by1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3Rh
dGlvbnM6CisKIDIwMjEtMDgtMjUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBDcmFzaCBpbiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cmVz
aGFwZURpc3BsYXlCdWZmZXJCYWNraW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRl
eCA4YTY2NTBmODgyODQ5OTgwMmE5ZDIwZWZlNjliNTQzMzdiNjQ0YjhmLi4zOWFlMjhmNzQ0M2I0
ZDQzYzExNDQ3NjkxM2VkZmY0MTAzNjA0NWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMS0wOC0yNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFw
cGxlLmNvbT4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMt
cGVybWlzc2lvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bl
cm1pc3Npb25zL3Blcm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRw
cy5zdWItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVz
dC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3lu
Yy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wOC0yNSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWMgd2syXSBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXBvcnRpbmct
dG8tZnJhbWUtb3duZXIuaHR0cHMuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDZiZGUyZjk0ZWFkMjE3Yjg2NDQzMjU3MThjMWY0YzYyMTFmMjc2NzAuLjhiYzkz
NjhkOGE4ZWQyOGJhYWE1NDEzZGJmOGFiZjJjMTZmZDE5MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMTk2LDYgKzE5Niw3IEBAIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vcGVybWlzc2lvbi1lcnJv
ci5odG1sIFsgU2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXJlY29nbml0aW9u
LXRoZW4tc3RvcC5odG1sIFsgU2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXNl
Y29uZC1yZWNvZ25pdGlvbi5odG1sIFsgU2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL2lv
cy8gWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
IFsgU2tpcCBdCiAKICMgYXBwLXByaXZhY3ktcmVwb3J0IHRlc3RzIHJlbHkgb24gV2ViS2l0QWRk
aXRpb25zCiBodHRwL3Rlc3RzL2FwcC1wcml2YWN5LXJlcG9ydC8gWyBTa2lwIF0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lv
bnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50
eHQKaW5kZXggYjg0ZDQwZDc2NWYyMDQwODNkZWY4YjY3NzAwYzQyMDQ0YjAzNDY5OC4uMGM0YmFh
MGNmZWUwMWY5NGNlYWY0YWY3ZmIzOGY4OWI0ZmI2YmJlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNz
LmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKQEAgLTE5
LDI5ICsxOSwyOSBAQCBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JJRDog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5h
dmlnYXRvckxhbmd1YWdlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZp
Z2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yT25MaW5lOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQog
UEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJl
OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0
YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwg
UGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNz
aW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBw
cm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVz
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3Rh
dHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0
b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9u
U3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2Nv
cGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNz
aW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgc3RhdGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25T
dGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbmNoYW5nZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0
YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIG11c3QgYmUgcHJpbWFyeSBpbnRl
cmZhY2Ugb2YgcGVybWlzc2lvblN0YXR1cyBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2Vw
dGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3Qg
IlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgot
RkFJTCBTdHJpbmdpZmljYXRpb24gb2YgcGVybWlzc2lvblN0YXR1cyBhc3NlcnRfZXF1YWxzOiBV
bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwg
YnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJt
aXNzaW9uU3RhdHVzIgotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lv
blN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0YXRlIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2Jq
ZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGlu
dGVyZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY2hhbmdl
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlv
biB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgotRkFJ
TCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1p
c3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMi
IGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9u
cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJt
aXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhw
ZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVy
dHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1
bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Np
b25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5
KG9iamVjdCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2lu
ZwotRkFJTCBQZXJtaXNzaW9ucyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmlnYXRv
ci5wZXJtaXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVk
ICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5h
dmlnYXRvci5wZXJtaXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4
cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgUGVybWlzc2lvbnMgaW50
ZXJmYWNlOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVy
eShvYmplY3QpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBl
b2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgUGVy
bWlzc2lvbnMgaW50ZXJmYWNlOiBjYWxsaW5nIHF1ZXJ5KG9iamVjdCkgb24gbmF2aWdhdG9yLnBl
cm1pc3Npb25zIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNz
ZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290
ICJ1bmRlZmluZWQiCi1GQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwZXJtaXNz
aW9ucyBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVy
dHkgInBlcm1pc3Npb25zIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBOYXZpZ2F0b3Ig
aW50ZXJmYWNlOiBuYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJwZXJtaXNzaW9ucyIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicGVybWlzc2lv
bnMiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK1BBU1MgUGVybWlzc2lvblN0YXR1cyBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQ
QVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUGVybWlz
c2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBw
cm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBw
cm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRl
CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UKK1BB
U1MgUGVybWlzc2lvblN0YXR1cyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHBlcm1pc3Np
b25TdGF0dXMKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIHBlcm1pc3Npb25TdGF0dXMKK1BBU1Mg
UGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJzdGF0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKK1BBU1MgUGVybWlzc2lvblN0
YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bmNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQZXJt
aXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZh
Y2Ugb2JqZWN0IG5hbWUKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVybWlzc2lv
bnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25zIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBxdWVyeShvYmplY3QpCitQQVNTIFBlcm1pc3Npb25zIG11c3QgYmUgcHJp
bWFyeSBpbnRlcmZhY2Ugb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zCitQQVNTIFN0cmluZ2lmaWNh
dGlvbiBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNl
OiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeShvYmpl
Y3QpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGNh
bGxpbmcgcXVlcnkob2JqZWN0KSBvbiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgd2l0aCB0b28gZmV3
IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvcgorUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgcGVybWlzc2lvbnMKK1BBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogbmF2aWdh
dG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGVybWlzc2lvbnMiIHdpdGggdGhlIHByb3BlciB0
eXBlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRs
aGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA1MjU2MDJkMTZkN2YwZjU0Y2E4
ZWYwM2Y3ZmNmNWI0ZWVlZjMxNjk3Li4wNjJiMjk1N2YzMTU1MWIzNTJhNDk1NDE2YzNmNGFiZmE1
Nzk5ZTZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9u
cy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xOSwyNSArMTksMjUgQEAg
UEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBuYW1lcyBh
cmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JMYW5ndWFn
ZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVz
IE5hdmlnYXRvck9uTGluZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2
aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVyIG5hbWVz
IGFyZSB1bmlxdWUKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVk
IHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0
dXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVy
dHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1p
c3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNz
aW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwot
RkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJt
aXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2lu
ZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0
eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQ
ZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlz
c2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1p
c3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5n
Ci1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlz
c2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcK
K1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9i
amVjdCBsZW5ndGgKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUK
K1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGlu
dGVyZmFjZTogYXR0cmlidXRlIHN0YXRlCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb25jaGFuZ2UKIEZBSUwgUGVybWlzc2lvblN0YXR1cyBtdXN0IGJlIHByaW1h
cnkgaW50ZXJmYWNlIG9mIHBlcm1pc3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFsczogVW5leHBlY3Rl
ZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qg
b2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0
YXR1cyIKIEZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIHBlcm1pc3Npb25TdGF0dXMgYXNzZXJ0X2Vx
dWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3Rl
ZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogcGVybWlzc2lvblN0YXR1cyIKIEZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBl
cm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzdGF0ZSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0
aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjog
Q2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKIEZBSUwgUGVybWlzc2lvblN0
YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bmNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBl
eGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2Jq
ZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1
cyIKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Np
b25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1p
c3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVy
bWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0
eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lv
bnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNz
aW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVk
IHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQ
ZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG9wZXJhdGlv
biBxdWVyeShvYmplY3QpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMi
IG1pc3NpbmcKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2Jq
ZWN0IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1Mg
UGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3Ry
dWN0b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxl
cyBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeShv
YmplY3QpCiBGQUlMIFBlcm1pc3Npb25zIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmF2
aWdhdG9yLnBlcm1pc3Npb25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhw
ZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgogRkFJTCBTdHJpbmdpZmljYXRpb24g
b2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmpl
Y3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgogRkFJTCBQZXJtaXNzaW9u
cyBpbnRlcmZhY2U6IG5hdmlnYXRvci5wZXJtaXNzaW9ucyBtdXN0IGluaGVyaXQgcHJvcGVydHkg
InF1ZXJ5KG9iamVjdCkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IHdyb25n
IHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJt
aXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVj
dGVkLnR4dAppbmRleCBjM2U4NjA1Zjg3Mjg3YTgwMzgxZjVkYjgwNmNkZDA1YTI1NTY1ZGRlLi5j
MmZkNjVlOGQ0MDAyYTcyMzAxODdhNjFmNTFjMjgyZWZjMWM2YmVjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1w
ZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dApA
QCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IFdlYiBORkMgUGVybWlzc2lvbi4gdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVy
eScpCitQQVNTIFRlc3QgV2ViIE5GQyBQZXJtaXNzaW9uLgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Np
b25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9u
cy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4
cGVjdGVkLnR4dAppbmRleCBlNDJkZGEyNjEyZjI1N2I3ZjAyYmJlZWY2NTYzM2IyNWI3MzY0N2E1
Li5jNGJhMjQ5MmU5OTE5OWQ2NjYwNWE4YzAxYWEwMTUxYjk2MjQ2MDc4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Bl
cm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGVybWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0
dHBzLnN1Yi1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgUGVybWlzc2lvbnMu
c3RhdGUgaXMgInByb21wdCIgd2l0aCBhbGxvdz0iZ2VvbG9jYXRpb24iIGluIHNhbWUtb3JpZ2lu
IGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2Vv
bG9jYXRpb24iKSBleHBlY3RlZCAoc3RyaW5nKSAicHJvbXB0IiBidXQgZ290IChvYmplY3QpIG51
bGwKLUZBSUwgUGVybWlzc2lvbnMuc3RhdGUgaXMgInByb21wdCIgd2l0aCBhbGxvdz0iZ2VvbG9j
YXRpb24iIGluIGNyb3NzLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3Iu
cGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgKHN0cmluZykgInByb21w
dCIgYnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIFBlcm1pc3Npb24uc3RhdGUgaXMgInByb21w
dCIgaW4gc2FtZS1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1p
c3Npb25zLnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJwcm9tcHQiIGJ1
dCBnb3QgKG9iamVjdCkgbnVsbAotRkFJTCBQZXJtaXNzaW9uLnN0YXRlIGlzICJkZW5pZWQiIGlu
IGNyb3NzLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVybWlzc2lv
bnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgKHN0cmluZykgImRlbmllZCIgYnV0IGdv
dCAob2JqZWN0KSBudWxsCitQQVNTIFBlcm1pc3Npb25zLnN0YXRlIGlzICJwcm9tcHQiIHdpdGgg
YWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLgorUEFTUyBQZXJtaXNz
aW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93PSJnZW9sb2NhdGlvbiIgaW4gY3Jvc3Mt
b3JpZ2luIGlmcmFtZXMuCitQQVNTIFBlcm1pc3Npb24uc3RhdGUgaXMgInByb21wdCIgaW4gc2Ft
ZS1vcmlnaW4gaWZyYW1lcy4KK0ZBSUwgUGVybWlzc2lvbi5zdGF0ZSBpcyAiZGVuaWVkIiBpbiBj
cm9zcy1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25z
LnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkICJkZW5pZWQiIGJ1dCBnb3QgInByb21wdCIK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlz
c2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQKaW5kZXggMTFmYjFhMGQ2MTI0ZGE5NGUwMDFl
N2RkOTIzZTAxN2NlNjllNzhiYS4uMGU0ZWJjYzQ3Y2NiOTM4OTA4ZWNlODRjYzY4ZjE1M2QwODUz
NzlhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25z
L3Blcm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1G
QUlMIFRlc3QgUGVybWlzc2lvblN0YXR1cydzIG5hbWUgYXR0cmlidXRlLiBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMu
cXVlcnknKSIKK1BBU1MgVGVzdCBQZXJtaXNzaW9uU3RhdHVzJ3MgbmFtZSBhdHRyaWJ1dGUuCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGVybWlzc2lvbnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvc2Ny
ZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAppbmRleCA4NWM3YmJhNWMyYjI0
NTkzZjUxZTIxNDZiZTI1YmQxNmZhMDVmZjU4Li44ZTBlNzAyZDFmMmRkNDhjYTY5OTljYTVmYjk0
ZTUxMmE2NDViZTliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgInNjcmVlbi13YWtlLWxvY2siIFBlcm1pc3Npb24u
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRv
ci5wZXJtaXNzaW9ucy5xdWVyeScpIgorUEFTUyBUZXN0ICJzY3JlZW4td2FrZS1sb2NrIiBQZXJt
aXNzaW9uLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1mZXRjaC1wZXJtaXNzaW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0
CmluZGV4IDlhOTQyNjlmYjc0MzhmYzYzYmUxOGQwMGNkMjk5N2NjNTliYThkZDYuLjc4NWJiNTg1
ZjUxNTk1ZmRlYTA1MjM0MTY3MjM4MTNjOGRiMjMxNTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3Jv
dW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZl
dGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3Qg
QmFja2dyb3VuZCBGZXRjaCBQZXJtaXNzaW9uLiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykKK1BBU1MgVGVzdCBCYWNr
Z3JvdW5kIEZldGNoIFBlcm1pc3Npb24uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNr
Z3JvdW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dy
b3VuZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CmluZGV4IDMxNmQzNTFhMGUwNzU0YjFl
NTA5YmYzY2EwYWRhNGI2NGRlMzU2YTcuLjRlOWYzN2E4NzU2ZWIxN2EyZmI4NGYxMTcwMmExNDNh
ODZiNzA5OWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlz
c2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1wZXJt
aXNzaW9uLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IFBlcmlvZGlj
IEJhY2tncm91bmQgU3luYyBQZXJtaXNzaW9uLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKSIKK0ZBSUwg
VGVzdCBQZXJpb2RpYyBCYWNrZ3JvdW5kIFN5bmMgUGVybWlzc2lvbi4gcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVy
cm9yIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9t
L25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBl
Y3RlZC50eHQKaW5kZXggZGY5MDEwOTA0ZDU3N2U4NWEwNzY2NjdhOTM3YWQ3N2U2ZDhmNTk1Ny4u
YzY4ZDNjYTBiMzBjZGNlZTdkZTFlYjdiZTQxMzY5YTBiZWRiODNiYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8t
Y3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFz
dC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMTgsNiAr
MTgsNyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgaXMgT0sKIG5hdmlnYXRvci5tZWRp
YVNlc3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlwZXMgaXMgT0sKIG5hdmlnYXRvci5vbkxp
bmUgaXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyBPSwogbmF2aWdhdG9yLnBsYXRmb3Jt
IGlzIE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwogbmF2aWdhdG9yLnByb2R1Y3QgaXMgT0sK
QEAgLTUxLDYgKzUyLDcgQEAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGlzIE9LCiBuYXZp
Z2F0b3IubWVkaWFTZXNzaW9uIGlzIE9LCiBuYXZpZ2F0b3IubWltZVR5cGVzIGlzIE9LCiBuYXZp
Z2F0b3Iub25MaW5lIGlzIE9LCituYXZpZ2F0b3IucGVybWlzc2lvbnMgaXMgT0sKIG5hdmlnYXRv
ci5wbGF0Zm9ybSBpcyBPSwogbmF2aWdhdG9yLnBsdWdpbnMgaXMgT0sKIG5hdmlnYXRvci5wcm9k
dWN0IGlzIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDZjZWUwZmEyZDRkNWRmZjZiOWQ2MTgyN2VlZTNlOTE0ZDk3OWI5NDUuLjQwOGM4YjQxYmM0M2Nh
MWIzM2YwNjQ3OTEwYTJiYTVjNjYzMzZkYmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9U
ZXN0RXhwZWN0YXRpb25zCkBAIC04NjAsNCArODYwLDUgQEAgZmFzdC9zcGVlY2hyZWNvZ25pdGlv
bi9wZXJtaXNzaW9uLWVycm9yLmh0bWwgWyBQYXNzIF0KIGZhc3Qvc3BlZWNocmVjb2duaXRpb24v
c3RhcnQtcmVjb2duaXRpb24tdGhlbi1zdG9wLmh0bWwgWyBQYXNzIF0KIGZhc3Qvc3BlZWNocmVj
b2duaXRpb24vc3RhcnQtc2Vjb25kLXJlY29nbml0aW9uLmh0bWwgWyBQYXNzIF0KIGZ1bGxzY3Jl
ZW4vZnVsbC1zY3JlZW4tZW50ZXItd2hpbGUtZXhpdGluZy5odG1sIFsgUGFzcyBdCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zLyBbIFBhc3MgXQogCg==
</data>
<flag name="commit-queue"
          id="459608"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436554</attachid>
            <date>2021-08-26 13:09:26 -0700</date>
            <delta_ts>2021-08-26 13:26:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210826130924.patch</filename>
            <type>text/plain</type>
            <size>122900</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLjAwYTQ0NjI0ZDI5YWZhNmM4YmNjZTcxM2MyZWU4N2U5Zjc5NTk4
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIxLTA4LTI1
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92
ZSBzb21lIGlPUy1zcGVjaWZpYyBjb21waWxlLXRpbWUgZ3VhcmRzIHRoYXQgYXJlIG5vIGxvbmdl
ciBuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYTkzNTJkZDhlZjlkY2Q5NWZiZDY3MTJiNTRlYjRlZWZm
ZWQyNWMyLi5kODI4YTAwNWQ2NDhiMDgxOWJhMGI5OTdiY2FhMGY1N2I5MjkyNzVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNjkgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiaW5kaW5ncyBj
b2RlIGFuZCBhIGZlYXR1cmUgZmxhZyBmb3IgUGVybWlzc2lvbnMgQVBJLgorICAgICAgICBTcGVj
OiBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLiBSZWJhc2VsaW5lIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9kdWxlcy9w
ZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAg
ICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6b3BlcmF0b3I9
PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yOjpkZWNvZGUp
OgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmg6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZl
ci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OlBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6flBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6c3RhdGVDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUg
Y29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uczo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpQZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJtaXNzaW9uczo6bmF2aWdhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25z
OjpxdWVyeSk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbDogQWRk
ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIGRv
bS9UYXNrU291cmNlLmg6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMpOgorICAgICAg
ICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX3Blcm1pc3Npb25Db250cm9s
bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnBlcm1pc3Npb25Db250cm9sbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Om1faHR0cHNVcGdyYWRlRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
ICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24pOgor
ICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKKwogMjAyMS0wOC0yNSAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGlu
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggNDI0MWIyZTZmYTc4NTRmMTVmZDMzYzZjYTljN2ZlYjM3YmMxZGIyMS4uMDM2Yzkz
YjFjMmI5YzE0NzkwZTI1OTVmM2IyOGVmZWVlODRmNGMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MyBAQAorMjAyMS0wOC0yNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2V0IHVwIGJhc2ljIGluZnJhc3RyY3R1cmUgb2Yg
cGVybWlzc2lvbiBnZXR0aW5nIGFuZCBzZXR0aW5nLgorCisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBl
cm1pc3Npb25Db250cm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRy
b2xsZXI6OnF1ZXJ5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6
OnJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVl
cnlDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRh
dGVDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQ
cm9jZXNzaW5nUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjphZGRPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjpyZW1vdmVPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250
cm9sbGVyOjpwZXJtaXNzaW9uQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fYXBwSGlnaGxp
Z2h0c1Zpc2libGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFjLmg6CisKIDIwMjEtMDgtMjYgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25v
cmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW2N1cmxdIFJFR1JFU1NJT04ocjI4MTE1OCk6
IGZldGNoKCdodHRwOi8vbG9jYWxob3N0LycpIGZyb20gYWJvdXQ6YmxhbmsgZG9lc24ndCBlbWl0
IHRoZSBjb25zb2xlIGVycm9yIG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRl
eCA0NWE1NDg2ZTA1ODA1ZDk3YmMxZTQ4YjQ0ZjkzZGEzMDMyOGE2YTFkLi5mZjc3YjQ5NWE4MmVj
OTI4MzQ5MTU4NGQ2MWFkZDJkZjA5NDg5NzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5h
bWU6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IGluaXRTaW1wbGVIVE1MRG9jdW1l
bnRXaXRoU3R5bGU6ZnJhbWU6cHJlZmVyZW5jZXM6Z3JvdXBOYW1lOl0pOgorCiAyMDIxLTA4LTI0
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gSW1wbGVt
ZW50IHByb2Nlc3Mtc3dhcHBpbmcgYmFzZWQgb24gQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xpY3kg
SFRUUCBoZWFkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9X
ZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZl
cmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXggMTg1YTVhYzBmNDU0
Yzc2YzAzNDc5MmFkMTg1NzYxZmNjYTY5NDk5MS4uNTU1NDYwMGRiYzY2NThmYTFjYWIyZDA1OGNk
NTM1ZGFmNTI5MzFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2Vz
L1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKQEAgLTg4MSw2ICs4
ODEsMTggQEAgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ1NlbnNpdGl2ZVByb3BlcnRpZXNFbmFi
bGVkOgogICAgIFdlYkNvcmU6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogCitQZXJtaXNzaW9uc0FQ
SUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJQZXJtaXNzaW9u
cyBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQZXJtaXNzaW9ucyBB
UEkiCisgIGRlZmF1bHRWYWx1ZToKKyAgICBXZWJLaXRMZWdhY3k6CisgICAgICBkZWZhdWx0OiBm
YWxzZQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViQ29yZToKKyAg
ICAgIGRlZmF1bHQ6IGZhbHNlCisKIFByaXZhdGVDbGlja01lYXN1cmVtZW50RGVidWdNb2RlRW5h
YmxlZDoKICAgdHlwZTogYm9vbAogICBodW1hblJlYWRhYmxlTmFtZTogIlByaXZhdGUgQ2xpY2sg
TWVhc3VyZW1lbnQgRGVidWcgTW9kZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYmJiODQyYTUz
OWExMDg3YzllMWRiNDYzZDAxOWRkMmIxMjMxNDJjOS4uMDdlNWUwNTU4ZjZkZGQ0MTFlYzRjZjU5
NmRlMzQzZjQ4M2MwOTc3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ4LDYgKzQ4LDcgQEAg
c2V0KFdlYkNvcmVfUFJJVkFURV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9E
SVJ9L01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzIgogICAgICIke1dFQkNPUkVfRElSfS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QiCisgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGVybWlzc2lvbnMiCiAgICAg
IiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGljdHVyZWlucGljdHVyZSIKICAgICAiJHtXRUJDT1JF
X0RJUn0vTW9kdWxlcy9wbHVnaW5zIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3JlbW90
ZXBsYXliYWNrIgpAQCAtMjAxLDYgKzIwMiw3IEBAIHNldChXZWJDb3JlX0lETF9JTkNMVURFUwog
ICAgIE1vZHVsZXMvbW9kZWwtZWxlbWVudAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucwogICAg
IE1vZHVsZXMvcGF5bWVudHJlcXVlc3QKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zCiAgICAgTW9k
dWxlcy9zcGVlY2gKICAgICBNb2R1bGVzL3N0cmVhbXMKICAgICBNb2R1bGVzL3dlYmF1ZGlvCkBA
IC00NjAsNiArNDYyLDEzIEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdUeXBlLmlkbAogICAgIE1vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFZhbGlkYXRpb25FcnJvcnMuaWRsCiAKKyAgICBNb2R1bGVz
L3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwKKyAgICBNb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbk5hbWUuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3Rh
dGUuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbAorICAg
IE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCisKICAgICBNb2R1bGVzL3BpY3R1
cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGljdHVyZUluUGljdHVyZS5pZGwKICAgICBNb2R1bGVzL3Bp
Y3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGljdHVyZUluUGljdHVyZS5pZGwK
ICAgICBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQu
aWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApp
bmRleCAzOWIyYjMwMDRlNGM1Nzk0MzdlNjVhY2E5NzMyN2M3OGQ0ZDc0NWRlLi41MTFiNTEzMTIw
MGFiZWM4M2JlNDkwN2E3YmU0MTkyM2E2MmYzNjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTM4OCw2ICszODgsMTIgQEAgJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ09wdGlvbi5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5n
VHlwZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFZh
bGlkYXRpb25FcnJvcnMuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL05h
dmlnYXRvcitQZXJtaXNzaW9ucy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25zLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9waWN0dXJlaW5waWN0
dXJlL0RvY3VtZW50K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGljdHVyZUluUGljdHVyZS5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9FbnRlclBpY3R1cmVJ
blBpY3R1cmVFdmVudC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3QKaW5kZXggMTk2NzFmNzUwNmQ2YTc5Mzc0YzVlYTQ1YWM3NzFmYzdmMWI3
OTUyYi4uOWI0ODRhYmE0OGMyYzVjZmM2MGFjZWVlYzI5M2ViY2E5YzM5NzFlYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTEzNzcs
NiArMTM3Nyw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTmF2aWdhdG9yK01lZGlhRGV2aWNlcy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhRGV2aWNlcy5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitNZWRpYVNlc3Np
b24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05h
dmlnYXRvcitNZWRpYVNlc3Npb24uaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrUGVybWlzc2lvbnMuY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitQZXJtaXNzaW9ucy5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitX
ZWJEcml2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU05hdmlnYXRvcitXZWJEcml2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViWFIuY3BwCkBAIC0xNTgzLDYgKzE1ODUsMTYg
QEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2Rp
Y1dhdmVDb25zdHJhaW50cy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2RpY1dhdmVPcHRpb25zLmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2RpY1dhdmVP
cHRpb25zLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UGVybWlzc2lvbkRlc2NyaXB0b3IuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbk5hbWUuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25OYW1lLmgK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lv
blN0YXRlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNQZXJtaXNzaW9uU3RhdGUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdHVzLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdHVzLmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbnMuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25zLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGljdHVyZUluUGlj
dHVyZVdpbmRvdy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUGljdHVyZUluUGljdHVyZVdpbmRvdy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BsYXliYWNrRGlyZWN0aW9uLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKaW5kZXggZDY0ZTY1ZTg2ZTVlMTE0MjY2N2E5ZTM4Mjc2ODNhOTY5MmYy
N2FmMS4uZjllZTY0MjhiYTBhNTRkNTRjMDI1N2FhNmQ2YTAwMDFlMmU0MjFiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zMjQsNiArMzI0LDEyIEBAIEpTX0JJTkRJTkdfSURM
UyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlw
cGluZ09wdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50U2hpcHBpbmdUeXBlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwgXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50T3JTaGFkb3dSb290K1Bp
Y3R1cmVJblBpY3R1cmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlucGlj
dHVyZS9Eb2N1bWVudCtQaWN0dXJlSW5QaWN0dXJlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuaWRsIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9I
ZWFkZXJzLmNtYWtlCmluZGV4IGViMDdiODBjOTkzM2Q2OWE4YzM2MzE5MThjNzVkYmU0ZTM3YTky
YjguLjg4MjQ3ZTQ0Y2I1Zjg3OWZkYjMzZDM3YTcwMzkyZmUyNTU3ODkzNzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQpAQCAtMTI5LDYgKzEyOSwxMCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09S
S19IRUFERVJTCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Np
b24uaAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaAogCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uQ29udHJvbGxlci5o
CisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oCisgICAgTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uT2JzZXJ2ZXIuaAorCiAgICAgTW9kdWxlcy9wbHVn
aW5zL1BsdWdpblJlcGxhY2VtZW50LmgKICAgICBNb2R1bGVzL3BsdWdpbnMvWW91VHViZVBsdWdp
blJlcGxhY2VtZW50LmgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwYjEy
N2U3ZjNhMWM1NjY2Y2QwZDBjODhmZTkxMWU5NmM4MzRmNjUKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5p
ZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5p
by9wZXJtaXNzaW9ucy8jbmF2aWdhdG9yLWFuZC13b3JrZXJuYXZpZ2F0b3ItZXh0ZW5zaW9uCisK
K1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorICAgIEltcGxlbWVudGVk
Qnk9TmF2aWdhdG9yUGVybWlzc2lvbnMKK10gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsK
KyAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFBlcm1pc3Npb25zIHBlcm1pc3Np
b25zOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMv
TmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkxZjU1NTg4NmQ4ZTcx
YTM0OWVlNzViZjNjNDE2ZjAyZjFjNDdhYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwCkBAIC0wLDAg
KzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF2
aWdhdG9yUGVybWlzc2lvbnMuaCIKKworI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1ZGUg
IlBlcm1pc3Npb25zLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTmF2aWdhdG9yUGVybWlz
c2lvbnM6Ok5hdmlnYXRvclBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9yKQorICAgIDog
bV9uYXZpZ2F0b3IobmF2aWdhdG9yKQoreworfQorCitSZWZQdHI8UGVybWlzc2lvbnM+IE5hdmln
YXRvclBlcm1pc3Npb25zOjpwZXJtaXNzaW9ucyhOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAg
ICByZXR1cm4gTmF2aWdhdG9yUGVybWlzc2lvbnM6OmZyb20obmF2aWdhdG9yKS0+cGVybWlzc2lv
bnMoKTsKK30KKworUmVmUHRyPFBlcm1pc3Npb25zPiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6cGVy
bWlzc2lvbnMoKQoreworICAgIGlmICghbV9wZXJtaXNzaW9ucykKKyAgICAgICAgbV9wZXJtaXNz
aW9ucyA9IFBlcm1pc3Npb25zOjpjcmVhdGUobV9uYXZpZ2F0b3IpOworCisgICAgcmV0dXJuIG1f
cGVybWlzc2lvbnM7Cit9CisKK05hdmlnYXRvclBlcm1pc3Npb25zKiBOYXZpZ2F0b3JQZXJtaXNz
aW9uczo6ZnJvbShOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICBhdXRvKiBzdXBwbGVtZW50
ID0gc3RhdGljX2Nhc3Q8TmF2aWdhdG9yUGVybWlzc2lvbnMqPihTdXBwbGVtZW50PE5hdmlnYXRv
cj46OmZyb20oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSkpOworICAgIGlmICghc3VwcGxl
bWVudCkgeworICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVlPE5hdmlnYXRv
clBlcm1pc3Npb25zPihuYXZpZ2F0b3IpOworICAgICAgICBzdXBwbGVtZW50ID0gbmV3U3VwcGxl
bWVudC5nZXQoKTsKKyAgICAgICAgcHJvdmlkZVRvKCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnROYW1l
KCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOworICAgIH0KKworICAgIHJldHVybiBzdXBwbGVt
ZW50OworfQorCitjb25zdCBjaGFyKiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6c3VwcGxlbWVudE5h
bWUoKQoreworICAgIHJldHVybiAiTmF2aWdhdG9yUGVybWlzc2lvbnMiOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBhNzM5ZGE3MTQ0
MGM3YTMzYjIzMmNhZTk4MzUyMDE5ZmRhNDQ0YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaApAQCAtMCww
ICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJTdXBwbGVt
ZW50YWJsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmlnYXRvcjsKK2Ns
YXNzIFBlcm1pc3Npb25zOworCitjbGFzcyBOYXZpZ2F0b3JQZXJtaXNzaW9ucyBmaW5hbCA6IHB1
YmxpYyBTdXBwbGVtZW50PE5hdmlnYXRvcj4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworcHVibGljOgorICAgIGV4cGxpY2l0IE5hdmlnYXRvclBlcm1pc3Npb25zKE5hdmlnYXRvciYp
OworCisgICAgc3RhdGljIFJlZlB0cjxQZXJtaXNzaW9ucz4gcGVybWlzc2lvbnMoTmF2aWdhdG9y
Jik7CisgICAgUmVmUHRyPFBlcm1pc3Npb25zPiBwZXJtaXNzaW9ucygpOworCitwcml2YXRlOgor
ICAgIHN0YXRpYyBOYXZpZ2F0b3JQZXJtaXNzaW9ucyogZnJvbShOYXZpZ2F0b3ImKTsKKyAgICBz
dGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKKworICAgIFJlZlB0cjxQZXJtaXNz
aW9ucz4gbV9wZXJtaXNzaW9uczsKKyAgICBOYXZpZ2F0b3ImIG1fbmF2aWdhdG9yOworfTsKKwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uQ29udHJvbGxlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4MmUxM2I4MWI1ZWQ0NWI1ZDRlMjMxNzA3
OWEzMzk2M2I0ZmYzZDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgKQEAgLTAsMCArMSw1NCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVybWlzc2lvbk9ic2VydmVyLmgi
CisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXRlLmgiCisjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25I
YW5kbGVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVybWlzc2lvbk9ic2Vy
dmVyOworc3RydWN0IFBlcm1pc3Npb25EZXNjcmlwdG9yOworCitjbGFzcyBQZXJtaXNzaW9uQ29u
dHJvbGxlciA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIHZpcnR1YWwgflBlcm1p
c3Npb25Db250cm9sbGVyKCkgPSBkZWZhdWx0OworICAgIHZpcnR1YWwgUGVybWlzc2lvblN0YXRl
IHF1ZXJ5KENsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHJlcXVlc3QoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlwdG9y
JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUGVybWlzc2lvblN0YXRlKT4mJikgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBhZGRPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHJlbW92ZU9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpID0gMDsKK307
CisKK2NsYXNzIER1bW15UGVybWlzc2lvbkNvbnRyb2xsZXIgOiBwdWJsaWMgUGVybWlzc2lvbkNv
bnRyb2xsZXIgeworICAgIFBlcm1pc3Npb25TdGF0ZSBxdWVyeShDbGllbnRPcmlnaW4mJiwgUGVy
bWlzc2lvbkRlc2NyaXB0b3ImJikgZmluYWwgeyByZXR1cm4gUGVybWlzc2lvblN0YXRlOjpEZW5p
ZWQ7IH0KKyAgICB2b2lkIHJlcXVlc3QoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlw
dG9yJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUGVybWlzc2lvblN0YXRlKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikgZmluYWwgeyBjb21wbGV0aW9uSGFuZGxlcihQZXJtaXNzaW9uU3RhdGU6OkRl
bmllZCk7IH0KKyAgICB2b2lkIGFkZE9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpIGZpbmFs
IHsgfQorICAgIHZvaWQgcmVtb3ZlT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgZmluYWwg
eyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNGU4NGIyZDRjNzdhOThlOTViNjY0OThkYzRkMGIzOGE5MDg5ZTFlNQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRl
c2NyaXB0b3IuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlICJQZXJtaXNzaW9uTmFtZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0
cnVjdCBQZXJtaXNzaW9uRGVzY3JpcHRvciB7CisgICAgUGVybWlzc2lvbk5hbWUgbmFtZTsKKwor
ICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRv
cikgY29uc3QgeyByZXR1cm4gbmFtZSA9PSBkZXNjcmlwdG9yLm5hbWU7IH0KKyAgICB0ZW1wbGF0
ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxh
dGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8UGVybWlzc2lvbkRlc2NyaXB0
b3I+IGRlY29kZShEZWNvZGVyJik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiBpbmxp
bmUgdm9pZCBQZXJtaXNzaW9uRGVzY3JpcHRvcjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNv
bnN0Cit7CisgICAgZW5jb2RlciA8PCBuYW1lOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVy
PiBzdGQ6Om9wdGlvbmFsPFBlcm1pc3Npb25EZXNjcmlwdG9yPiBQZXJtaXNzaW9uRGVzY3JpcHRv
cjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAgUGVybWlzc2lvbkRlc2NyaXB0b3Ig
cmVzdWx0OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm5hbWUpKQorICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZjM2YTMyYTJj
Y2NkMzM5OTM5YjdkZTgzNWRmZWRiYmY0ZjU3Y2M4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwKQEAg
LTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJt
aXNzaW9ucy8jZGljdGRlZi1wZXJtaXNzaW9uZGVzY3JpcHRvcgorCitbCisgICAgRW5hYmxlZEJ5
U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKK10gZGljdGlvbmFyeSBQZXJtaXNzaW9uRGVzY3JpcHRv
ciB7CisgICAgcmVxdWlyZWQgUGVybWlzc2lvbk5hbWUgbmFtZTsKK307CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNWM5OTMxZmQ4NDM4ZDM0MzAxNmYxMWQyZWU0YzU3MzkzZGFkOGUxMAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUu
aApAQCAtMCwwICsxLDc5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBQZXJtaXNzaW9uTmFtZSA6IHVpbnQ4X3QgeworICAg
IEFjY2VsZXJvbWV0ZXIsCisgICAgQW1iaWVudExpZ2h0U2Vuc29yLAorICAgIEJhY2tncm91bmRG
ZXRjaCwKKyAgICBCYWNrZ3JvdW5kU3luYywKKyAgICBCbHVldG9vdGgsCisgICAgQ2FtZXJhLAor
ICAgIERpc3BsYXlDYXB0dXJlLAorICAgIEdlb2xvY2F0aW9uLAorICAgIEd5cm9zY29wZSwKKyAg
ICBNYWduZXRvbWV0ZXIsCisgICAgTWljcm9waG9uZSwKKyAgICBNaWRpLAorICAgIE5mYywKKyAg
ICBOb3RpZmljYXRpb25zLAorICAgIFBlcnNpc3RlbnRTdG9yYWdlLAorICAgIFB1c2gsCisgICAg
U2NyZWVuV2FrZUxvY2ssCisgICAgU3BlYWtlclNlbGVjdGlvbgorfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRy
YWl0czxXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1W
YWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lLAorICAgICAgICBXZWJDb3Jl
OjpQZXJtaXNzaW9uTmFtZTo6QWNjZWxlcm9tZXRlciwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlz
c2lvbk5hbWU6OkFtYmllbnRMaWdodFNlbnNvciwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lv
bk5hbWU6OkJhY2tncm91bmRGZXRjaCwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6
OkJhY2tncm91bmRTeW5jLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6Qmx1ZXRv
b3RoLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6Q2FtZXJhLAorICAgICAgICBX
ZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6RGlzcGxheUNhcHR1cmUsCisgICAgICAgIFdlYkNvcmU6
OlBlcm1pc3Npb25OYW1lOjpHZW9sb2NhdGlvbiwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lv
bk5hbWU6Okd5cm9zY29wZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok1hZ25l
dG9tZXRlciwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok1pY3JvcGhvbmUsCisg
ICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpNaWRpLAorICAgICAgICBXZWJDb3JlOjpQ
ZXJtaXNzaW9uTmFtZTo6TmZjLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6Tm90
aWZpY2F0aW9ucywKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6OlBlcnNpc3RlbnRT
dG9yYWdlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6UHVzaCwKKyAgICAgICAg
V2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6OlNjcmVlbldha2VMb2NrLAorICAgICAgICBXZWJDb3Jl
OjpQZXJtaXNzaW9uTmFtZTo6U3BlYWtlclNlbGVjdGlvbgorICAgID47Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbk5hbWUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uTmFtZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDNhY2RmMjhjNjQyMTEwZWI2MTBmZTll
OTg3YjZiZTY3ZGRkYTYyMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRsCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1kZWYtcGVy
bWlzc2lvbm5hbWUKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCitd
IGVudW0gUGVybWlzc2lvbk5hbWUgeworICAgICJhY2NlbGVyb21ldGVyIiwKKyAgICAiYW1iaWVu
dC1saWdodC1zZW5zb3IiLAorICAgICJiYWNrZ3JvdW5kLWZldGNoIiwKKyAgICAiYmFja2dyb3Vu
ZC1zeW5jIiwKKyAgICAiYmx1ZXRvb3RoIiwKKyAgICAiY2FtZXJhIiwKKyAgICAiZGlzcGxheS1j
YXB0dXJlIiwKKyAgICAiZ2VvbG9jYXRpb24iLAorICAgICJneXJvc2NvcGUiLAorICAgICJtYWdu
ZXRvbWV0ZXIiLAorICAgICJtaWNyb3Bob25lIiwKKyAgICAibWlkaSIsCisgICAgIm5mYyIsCisg
ICAgIm5vdGlmaWNhdGlvbnMiLAorICAgICJwZXJzaXN0ZW50LXN0b3JhZ2UiLAorICAgICJwdXNo
IiwKKyAgICAic2NyZWVuLXdha2UtbG9jayIsCisgICAgInNwZWFrZXItc2VsZWN0aW9uIgorfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bk9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Np
b25PYnNlcnZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxN2E0MWE5YjNjODlmYTJiOGUyYmY5ZGNhZTljNmJj
NjRlNmZmNmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25PYnNlcnZlci5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkNsaWVudE9yaWdpbi5oIgorI2luY2x1ZGUgIlBl
cm1pc3Npb25TdGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBQZXJtaXNz
aW9uRGVzY3JpcHRvcjsKKworY2xhc3MgUGVybWlzc2lvbk9ic2VydmVyIDogcHVibGljIENhbk1h
a2VXZWFrUHRyPFBlcm1pc3Npb25PYnNlcnZlcj4geworcHVibGljOgorICAgIHZpcnR1YWwgflBl
cm1pc3Npb25PYnNlcnZlcigpID0gZGVmYXVsdDsKKworICAgIHZpcnR1YWwgdm9pZCBzdGF0ZUNo
YW5nZWQoUGVybWlzc2lvblN0YXRlKSA9IDA7CisgICAgdmlydHVhbCBjb25zdCBDbGllbnRPcmln
aW4mIG9yaWdpbigpID0gMDsKKyAgICB2aXJ0dWFsIGNvbnN0IFBlcm1pc3Npb25EZXNjcmlwdG9y
JiBkZXNjcmlwdG9yKCkgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZWNhZGY1MjAxZTBjMzdiMzBmNGI3MmVhMDgwNDA4NTg0Yjg4ODQ4NAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvblN0YXRlLmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitl
bnVtIGNsYXNzIFBlcm1pc3Npb25TdGF0ZSA6IHVpbnQ4X3QgeworICAgIEdyYW50ZWQsCisgICAg
RGVuaWVkLAorICAgIFByb21wdAorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1l
c3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpQZXJt
aXNzaW9uU3RhdGU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBX
ZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0
ZTo6R3JhbnRlZCwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpEZW5pZWQsCisg
ICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0CisgICAgPjsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1Nzc5NzgxMmQxOTg2OWVm
M2U1MWEyZGI5ZWE4YTdhZjE2OGFjOWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwKQEAgLTAsMCArMSwzNCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jZW51
bWRlZi1wZXJtaXNzaW9uc3RhdGUKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lv
bnNBUEksCitdIGVudW0gUGVybWlzc2lvblN0YXRlIHsKKyAgICAiZ3JhbnRlZCIsCisgICAgImRl
bmllZCIsCisgICAgInByb21wdCIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xODNiMzQx
NjljM2U0OGVlZGU2NDQ3Zjg2ZDg2OTg3MjE4M2MwM2Q5Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcApAQCAt
MCwwICsxLDgwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IlBlcm1pc3Npb25TdGF0dXMuaCIKKworI2luY2x1ZGUgIkNsaWVudE9yaWdpbi5oIgorI2luY2x1
ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUGVybWlzc2lv
bkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChQZXJtaXNzaW9u
U3RhdHVzKTsKKworUmVmPFBlcm1pc3Npb25TdGF0dXM+IFBlcm1pc3Npb25TdGF0dXM6OmNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBQZXJtaXNzaW9uU3RhdGUgc3RhdGUs
IFBlcm1pc3Npb25EZXNjcmlwdG9yIGRlc2NyaXB0b3IpCit7CisgICAgYXV0byBzdGF0dXMgPSBh
ZG9wdFJlZigqbmV3IFBlcm1pc3Npb25TdGF0dXMoY29udGV4dCwgc3RhdGUsIGRlc2NyaXB0b3Ip
KTsKKyAgICBzdGF0dXMtPnN1c3BlbmRJZk5lZWRlZCgpOworICAgIHJldHVybiBzdGF0dXM7Cit9
CisKK1Blcm1pc3Npb25TdGF0dXM6OlBlcm1pc3Npb25TdGF0dXMoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCwgUGVybWlzc2lvblN0YXRlIHN0YXRlLCBQZXJtaXNzaW9uRGVzY3JpcHRv
ciBkZXNjcmlwdG9yKQorICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwgbV9z
dGF0ZShzdGF0ZSkKKyAgICAsIG1fZGVzY3JpcHRvcihkZXNjcmlwdG9yKQoreworICAgIGlmIChp
czxEb2N1bWVudD4oY29udGV4dCkpIHsKKyAgICAgICAgaWYgKGF1dG8gcGFnZSA9IGRvd25jYXN0
PERvY3VtZW50Pigqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS5wYWdlKCkpIHsKKyAgICAgICAg
ICAgIG1fY29udHJvbGxlciA9IG1ha2VXZWFrUHRyKHBhZ2UtPnBlcm1pc3Npb25Db250cm9sbGVy
KCkpOworICAgICAgICAgICAgbV9jb250cm9sbGVyLT5hZGRPYnNlcnZlcigqdGhpcyk7CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICBhdXRvKiBvcmlnaW4gPSBjb250ZXh0LnNlY3VyaXR5T3JpZ2lu
KCk7CisgICAgYXV0byBvcmlnaW5EYXRhID0gb3JpZ2luID8gb3JpZ2luLT5kYXRhKCkgOiBTZWN1
cml0eU9yaWdpbkRhdGEgeyB9OworICAgIG1fb3JpZ2luID0gQ2xpZW50T3JpZ2luIHsgY29udGV4
dC50b3BPcmlnaW4oKS5kYXRhKCksIG9yaWdpbkRhdGEgfTsKK30KKworUGVybWlzc2lvblN0YXR1
czo6flBlcm1pc3Npb25TdGF0dXMoKQoreworICAgIGlmIChtX2NvbnRyb2xsZXIpCisgICAgICAg
IG1fY29udHJvbGxlci0+cmVtb3ZlT2JzZXJ2ZXIoKnRoaXMpOworfQorCit2b2lkIFBlcm1pc3Np
b25TdGF0dXM6OnN0YXRlQ2hhbmdlZChQZXJtaXNzaW9uU3RhdGUgbmV3U3RhdGUpCit7CisgICAg
aWYgKG1fc3RhdGUgIT0gbmV3U3RhdGUpCisgICAgICAgIHF1ZXVlVGFza1RvRGlzcGF0Y2hFdmVu
dCgqdGhpcywgVGFza1NvdXJjZTo6UGVybWlzc2lvbiwgRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkuY2hhbmdlRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxl
OjpObykpOworfQorCitjb25zdCBjaGFyKiBQZXJtaXNzaW9uU3RhdHVzOjphY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIlBlcm1pc3Npb25TdGF0dXMiOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4NmEwM2Q1ZmE1ZTlj
OTRhYWVkYTgzNGQyZGI0MDQ5ZmU0YjliODIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaApAQCAtMCwwICsxLDc4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJBY3RpdmVET01PYmpl
Y3QuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25EZXNj
cmlwdG9yLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbk5hbWUuaCIKKyNpbmNsdWRlICJQZXJtaXNz
aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdGUuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBQZXJtaXNzaW9uQ29udHJvbGxlcjsKK2NsYXNzIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIFBlcm1pc3Npb25TdGF0dXMgZmluYWwgOiBwdWJsaWMg
UGVybWlzc2lvbk9ic2VydmVyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgUmVmQ291
bnRlZDxQZXJtaXNzaW9uU3RhdHVzPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEg
IHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFBlcm1pc3Npb25TdGF0dXMpOworcHVibGlj
OgorICAgIHN0YXRpYyBSZWY8UGVybWlzc2lvblN0YXR1cz4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmLCBQZXJtaXNzaW9uU3RhdGUsIFBlcm1pc3Npb25EZXNjcmlwdG9yKTsKKyAgICB+
UGVybWlzc2lvblN0YXR1cygpOworCisgICAgUGVybWlzc2lvblN0YXRlIHN0YXRlKCkgY29uc3Qg
eyByZXR1cm4gbV9zdGF0ZTsgfQorICAgIFBlcm1pc3Npb25OYW1lIG5hbWUoKSBjb25zdCB7IHJl
dHVybiBtX2Rlc2NyaXB0b3IubmFtZTsgfQorCisgICAgdXNpbmcgUmVmQ291bnRlZDo6cmVmOwor
ICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOworCisgICAgdXNpbmcgUGVybWlzc2lvbk9ic2Vy
dmVyOjp3ZWFrUHRyRmFjdG9yeTsKKyAgICB1c2luZyBXZWFrVmFsdWVUeXBlID0gUGVybWlzc2lv
bk9ic2VydmVyOjpXZWFrVmFsdWVUeXBlOworCitwcml2YXRlOgorICAgIFBlcm1pc3Npb25TdGF0
dXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFBlcm1pc3Npb25TdGF0ZSwgUGVybWlzc2lvbkRl
c2NyaXB0b3IpOworCisgICAgLy8gUGVybWlzc2lvbk9ic2VydmVyCisgICAgdm9pZCBzdGF0ZUNo
YW5nZWQoUGVybWlzc2lvblN0YXRlKSBmaW5hbDsKKyAgICBjb25zdCBDbGllbnRPcmlnaW4mIG9y
aWdpbigpIGZpbmFsIHsgcmV0dXJuIG1fb3JpZ2luOyB9CisgICAgY29uc3QgUGVybWlzc2lvbkRl
c2NyaXB0b3ImIGRlc2NyaXB0b3IoKSBmaW5hbCB7IHJldHVybiBtX2Rlc2NyaXB0b3I7IH0KKwor
ICAgIC8vIEFjdGl2ZURPTU9iamVjdAorICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5h
bWUoKSBjb25zdCBmaW5hbDsKKworICAgIC8vIEV2ZW50VGFyZ2V0CisgICAgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IEFjdGl2ZURPTU9iamVjdDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CisgICAgRXZlbnRU
YXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBQZXJtaXNzaW9uU3RhdHVzRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CisgICAgdm9pZCBy
ZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVmKCk7IH0KKyAgICB2b2lkIGRlcmVmRXZlbnRUYXJn
ZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KKworICAgIFBlcm1pc3Npb25TdGF0ZSBtX3N0YXRlOwor
ICAgIFBlcm1pc3Npb25EZXNjcmlwdG9yIG1fZGVzY3JpcHRvcjsKKyAgICBDbGllbnRPcmlnaW4g
bV9vcmlnaW47CisgICAgV2Vha1B0cjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gbV9jb250cm9sbGVy
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZGI3ODE0MmU2OTllMjBlNmJlODZjYzVjZTIwNTZkMWRlYjY5MmVkMAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5p
ZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisgCisvLyBodHRwczovL3czYy5naXRodWIu
aW8vcGVybWlzc2lvbnMvI3Blcm1pc3Npb25zdGF0dXMKKworWworICAgIEFjdGl2ZURPTU9iamVj
dCwKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorICAgIEV4cG9zZWQ9KFdp
bmRvdyxXb3JrZXIpCitdIGludGVyZmFjZSBQZXJtaXNzaW9uU3RhdHVzIDogRXZlbnRUYXJnZXQg
eworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQZXJtaXNzaW9uU3RhdGUgc3RhdGU7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFBlcm1pc3Npb25OYW1lIG5hbWU7CisgICAgYXR0cmlidXRlIEV2ZW50
SGFuZGxlciBvbmNoYW5nZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbnMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1YjZhYWI3MWYwOGNlZmE2ZmQx
NTU0Y2ZmYWZkNjFhMGE0Y2E3ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcApAQCAtMCwwICsxLDkwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25zLmgiCisK
KyNpbmNsdWRlICJFeGNlcHRpb24uaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIkpT
RE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSlNQZXJtaXNzaW9uRGVzY3JpcHRvci5o
IgorI2luY2x1ZGUgIkpTUGVybWlzc2lvblN0YXR1cy5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5o
IgorI2luY2x1ZGUgIlBlcm1pc3Npb25EZXNjcmlwdG9yLmgiCisjaW5jbHVkZSA8d3RmL0lzb01h
bGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxM
T0NBVEVEX0lNUEwoUGVybWlzc2lvbnMpOworCitSZWY8UGVybWlzc2lvbnM+IFBlcm1pc3Npb25z
OjpjcmVhdGUoTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgUGVybWlzc2lvbnMobmF2aWdhdG9yKSk7Cit9CisKK1Blcm1pc3Npb25zOjpQZXJtaXNzaW9u
cyhOYXZpZ2F0b3ImIG5hdmlnYXRvcikKKyAgICA6IG1fbmF2aWdhdG9yKG1ha2VXZWFrUHRyKG5h
dmlnYXRvcikpCit7Cit9CisKK05hdmlnYXRvciogUGVybWlzc2lvbnM6Om5hdmlnYXRvcigpCit7
CisgICAgcmV0dXJuIG1fbmF2aWdhdG9yLmdldCgpOworfQorCit2b2lkIFBlcm1pc3Npb25zOjpx
dWVyeShKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiBwZXJtaXNzaW9uRGVzY3JpcHRvclZhbHVl
LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPFBlcm1pc3Npb25TdGF0dXM+PiYmIHBy
b21pc2UpCit7CisgICAgYXV0byBjb250ZXh0ID0gbV9uYXZpZ2F0b3IgPyBtX25hdmlnYXRvci0+
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIDogbnVsbHB0cjsKKyAgICBpZiAoIWNvbnRleHQgfHwg
IWNvbnRleHQtPmdsb2JhbE9iamVjdCgpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2Vw
dGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgSlNDOjpWTSYgdm0gPSBjb250ZXh0LT5nbG9iYWxPYmplY3QoKS0+dm0oKTsKKyAgICBhdXRv
IHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgaWYgKCFwZXJtaXNzaW9uRGVz
Y3JpcHRvclZhbHVlKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IERhdGFF
cnJvciwgIlRoZSBwYXJhbWV0ZXIgaXMgaW52YWxpZCJfcyB9KTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGF1dG8gcGFyYW1ldGVyRGVzY3JpcHRvciA9IGNvbnZlcnQ8SURMRGljdGlv
bmFyeTxQZXJtaXNzaW9uRGVzY3JpcHRvcj4+KCpjb250ZXh0LT5nbG9iYWxPYmplY3QoKSwgcGVy
bWlzc2lvbkRlc2NyaXB0b3JWYWx1ZS5nZXQoKSk7CisgICAgaWYgKFVOTElLRUxZKHNjb3BlLmV4
Y2VwdGlvbigpKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBFeGlzdGlu
Z0V4Y2VwdGlvbkVycm9yIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byog
ZnJhbWUgPSBtX25hdmlnYXRvci0+ZnJhbWUoKTsKKyAgICBhdXRvKiBkb2N1bWVudCA9IGZyYW1l
PyBmcmFtZS0+ZG9jdW1lbnQoKSA6IG51bGxwdHI7CisgICAgYXV0byogcGFnZSA9IGZyYW1lPyBm
cmFtZS0+cGFnZSgpIDogbnVsbHB0cjsKKyAgICBpZiAoIWZyYW1lIHx8ICFkb2N1bWVudCB8fCAh
cGFnZSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVF
cnJvciB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gcGVybWlzc2lvblN0
YXRlID0gcGFnZS0+cGVybWlzc2lvbkNvbnRyb2xsZXIoKS5xdWVyeShDbGllbnRPcmlnaW4geyBk
b2N1bWVudC0+dG9wT3JpZ2luKCkuZGF0YSgpLCBkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS5k
YXRhKCkgfSwgUGVybWlzc2lvbkRlc2NyaXB0b3IgeyBwYXJhbWV0ZXJEZXNjcmlwdG9yIH0pOwor
ICAgIHByb21pc2UucmVzb2x2ZShQZXJtaXNzaW9uU3RhdHVzOjpjcmVhdGUoKmNvbnRleHQsIHBl
cm1pc3Npb25TdGF0ZSwgcGFyYW1ldGVyRGVzY3JpcHRvcikpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODJlODk1N2FmMTE4Y2M2NjRkZGI2YzRiNTc0ZDZkMjRjNzVj
NGZhMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbnMuaApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlICJJRExUeXBlcy5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0
cm9uZy5oPgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0
ci5oPgorCituYW1lc3BhY2UgSlNDIHsKK2NsYXNzIEpTT2JqZWN0OworfSAvLyBuYW1lc3BhY2Ug
SlNDCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yOworY2xhc3MgUGVy
bWlzc2lvblN0YXR1czsKKwordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJv
bWlzZURlZmVycmVkOworCitjbGFzcyBQZXJtaXNzaW9ucyBmaW5hbCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFBlcm1pc3Npb25zPiB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChQZXJtaXNzaW9u
cyk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJtaXNzaW9ucz4gY3JlYXRlKE5hdmlnYXRv
ciYpOworCisgICAgTmF2aWdhdG9yKiBuYXZpZ2F0b3IoKTsKKyAgICB2b2lkIHF1ZXJ5KEpTQzo6
U3Ryb25nPEpTQzo6SlNPYmplY3Q+LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPFBl
cm1pc3Npb25TdGF0dXM+PiYmKTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBQZXJtaXNzaW9u
cyhOYXZpZ2F0b3ImKTsKKworICAgIFdlYWtQdHI8TmF2aWdhdG9yPiBtX25hdmlnYXRvcjsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY4YWE2MTJhNTA3YjM4
MDU0MGE2NzBiZTY0NWFiNjZlZjQzODFkZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCkBAIC0wLDAgKzEsMzUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI3Blcm1p
c3Npb25zLWludGVyZmFjZQorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQ
SSwKKyAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPVJlYWNoYWJsZUZyb21OYXZpZ2F0b3IsCisgICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKQor
XSBpbnRlcmZhY2UgUGVybWlzc2lvbnMgeworICAgIFByb21pc2U8UGVybWlzc2lvblN0YXR1cz4g
cXVlcnkob2JqZWN0IHBlcm1pc3Npb25EZXNjKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDZkNTlk
YzNmZDg3ODRhYzM1NzYwYWRkZjVkOTIwNThkMjU4NGQwN2IuLjg5MTA1NDk3MzE5YTZiMDRlMThm
ZTUyZTQ1MWVkNGVlOWE0ZjE1MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yMDMsNiArMjAzLDkgQEAg
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKIE1vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKIE1vZHVsZXMvcGF5bWVudHJl
cXVlc3QvUGF5bWVudFJlcXVlc3RVdGlsaXRpZXMuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0
L1BheW1lbnRSZXNwb25zZS5jcHAKK01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlz
c2lvbnMuY3BwCitNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuY3BwCitNb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJl
L0RvY3VtZW50UGljdHVyZUluUGljdHVyZS5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9F
bnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9I
VE1MVmlkZW9FbGVtZW50UGljdHVyZUluUGljdHVyZS5jcHAKQEAgLTMyNzIsNiArMzI3NSwxMSBA
QCBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcAogSlNQZXJpb2RpY1dhdmUuY3BwCiBKU1BlcmlvZGlj
V2F2ZUNvbnN0cmFpbnRzLmNwcAogSlNQZXJpb2RpY1dhdmVPcHRpb25zLmNwcAorSlNQZXJtaXNz
aW9uRGVzY3JpcHRvci5jcHAKK0pTUGVybWlzc2lvbk5hbWUuY3BwCitKU1Blcm1pc3Npb25TdGF0
ZS5jcHAKK0pTUGVybWlzc2lvblN0YXR1cy5jcHAKK0pTUGVybWlzc2lvbnMuY3BwCiBKU1BpY3R1
cmVJblBpY3R1cmVXaW5kb3cuY3BwCiBKU1BsYXliYWNrRGlyZWN0aW9uLmNwcAogSlNQb2ludGVy
RXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggZDBhYTBlOGQyYjliOTEwNzNiOTgzYTY4Y2Y1OWY3ZTY2YTJhNTM3NS4u
MzZhZGVlZDQ5ZDEwZjg3YTYxODFkODMyODNlYjg3NjQ4NDhhZGRkZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjg4MCw2ICsy
ODgwLDE0IEBACiAJCTkzQTgwNjE3MUUwM0I1MUMwMDhBMUYyNiAvKiBMb25nUmFuZ2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTgwNjEzMUUwM0I1
MUMwMDhBMUYyNiAvKiBMb25nUmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk5M0E4MDYxRTFFMDNCNTg1MDA4QTFGMjYgLyogSlNEb3VibGVS
YW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNB
ODA2MUExRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCAqLzsgfTsKIAkJOTNBODA2
MjAxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9uZ1JhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4MDYxQzFFMDNCNTg1MDA4QTFGMjYgLyogSlNM
b25nUmFuZ2UuaCAqLzsgfTsKKwkJOTNCMEE2NTMyNkNERDE0MTAwQUEyMUU0IC8qIE5hdmlnYXRv
clBlcm1pc3Npb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5M0IwQTY0QTI2Q0REMTNFMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCAq
LzsgfTsKKwkJOTNCMEE2NTQyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY0QjI2Q0REMTNF
MDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCAqLzsgfTsKKwkJOTNCMEE2NTYyNkNERDE0MTAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzQjBBNjREMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3Rh
dHVzLmggKi87IH07CisJCTkzQjBBNjU3MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVz
Y3JpcHRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTNCMEE2NEUyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNCMEE2NTkyNkNE
RDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY1MDI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlz
c2lvbk5hbWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk5M0IwQTY1QjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY1MjI2Q0REMTQx
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNCMEE2NzAyNkQ0QjUzOTAwQUEyMUU0IC8qIFBlcm1p
c3Npb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5M0IwQTY2OTI2RDQ0QjdGMDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5M0Iw
QTY3QTI2RDZBNEU5MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY2RjI2RDRCNTI5MDBBQTIx
RTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNCMkQ4MTYwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRl
cm1pbmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5M0IyRDgxNTBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0IzOEVDMzI1ODIx
REI0MDAxOThFNjMgLyogV2ViU3BlZWNoUmVjb2duaXplclRhc2suaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjM4RUJBMjU4MjE5M0IwMDE5OEU2MyAv
KiBXZWJTcGVlY2hSZWNvZ25pemVyVGFzay5oICovOyB9OwogCQk5M0IzOEVDNDI1ODIxREI3MDAx
OThFNjMgLyogV2ViU3BlZWNoUmVjb2duaXplclRhc2tNb2NrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IzOEVCQjI1ODIxOTNEMDAxOThFNjMgLyog
V2ViU3BlZWNoUmVjb2duaXplclRhc2tNb2NrLmggKi87IH07CkBAIC0xMTcwMSw2ICsxMTcwOSwy
MyBAQAogCQk5M0E4MDYxQTFFMDNCNTg1MDA4QTFGMjYgLyogSlNEb3VibGVSYW5nZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RvdWJsZVJhbmdlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTkzQTgwNjFCMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5n
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0xvbmdSYW5nZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQTgwNjFDMUUwM0I1ODUwMDhBMUYy
NiAvKiBKU0xvbmdSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0xv
bmdSYW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0NDI2Q0RDNUI2
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQ
ZXJtaXNzaW9uU3RhdGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0
NTI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTNCMEE2NDYyNkNEQzVCNzAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9uTmFtZS5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ3MjZDREM1QjcwMEFBMjFFNCAvKiBOYXZpZ2F0b3Ir
UGVybWlzc2lvbnMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJOYXZpZ2F0b3IrUGVybWlz
c2lvbnMuaWRsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDgyNkNEQzVC
NzAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJt
aXNzaW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ5MjZDREM1
QjgwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBQZXJtaXNzaW9uU3RhdHVzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNC
MEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRvclBlcm1pc3Npb25zLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRCMjZDREQxM0UwMEFBMjFFNCAvKiBQZXJtaXNz
aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9ucy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0QzI2Q0REMTNFMDBBQTIxRTQgLyog
TmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk5M0IwQTY0RDI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uU3RhdHVzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNz
aW9uRGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0RjI2
Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBQZXJtaXNzaW9uU3RhdHVzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NTAyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1l
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25OYW1lLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjUxMjZDREQxNDAwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJt
aXNzaW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjUyMjZDREQx
NDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGVybWlzc2lvblN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTkzQjBBNjY5MjZENDRCN0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQZXJtaXNzaW9uQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk5M0IwQTY2RjI2RDRCNTI5MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25PYnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5M0IyRDgxNTBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3VkZGVuVGVybWluYXRpb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMkQ4MTcwRjk5MjBFRTAwNkFFNkIyIC8q
IFN1ZGRlblRlcm1pbmF0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gU3VkZGVuVGVybWluYXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTkzQjM4RUI4MjU4MjE4OTkwMDE5OEU2MyAvKiBTcGVlY2hSZWNvZ25pemVyQ29jb2EubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTcGVlY2hSZWNvZ25pemVyQ29j
b2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzE4NSw2ICsyMzIxMCwzMCBA
QAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTkz
QjBBNjQyMjZDREM1NzQwMEFBMjFFNCAvKiBwZXJtaXNzaW9ucyAqLyA9IHsKKwkJCWlzYSA9IFBC
WEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJOTNCMEE2NDcyNkNEQzVCNzAwQUEyMUU0IC8q
IE5hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgKi8sCisJCQkJOTNCMEE2NEMyNkNERDEzRTAwQUEy
MUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcCAqLywKKwkJCQk5M0IwQTY0QTI2Q0REMTNF
MDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCAqLywKKwkJCQk5M0IwQTY2OTI2RDQ0
QjdGMDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLywKKwkJCQk5M0IwQTY0RTI2
Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCAqLywKKwkJCQk5M0IwQTY0
NTI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsICovLAorCQkJCTkz
QjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oICovLAorCQkJCTkzQjBB
NjQ2MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5pZGwgKi8sCisJCQkJOTNCMEE2
NkYyNkQ0QjUyOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oICovLAorCQkJCTkzQjBB
NjUxMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5jcHAgKi8sCisJCQkJOTNCMEE2NEIy
NkNERDEzRTAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmggKi8sCisJCQkJOTNCMEE2NDgyNkNEQzVC
NzAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmlkbCAqLywKKwkJCQk5M0IwQTY1MjI2Q0REMTQxMDBB
QTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggKi8sCisJCQkJOTNCMEE2NDQyNkNEQzVCNjAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5pZGwgKi8sCisJCQkJOTNCMEE2NEYyNkNERDE0MDAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuY3BwICovLAorCQkJCTkzQjBBNjREMjZDREQxM0YwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggKi8sCisJCQkJOTNCMEE2NDkyNkNEQzVCODAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaWRsICovLAorCQkJKTsKKwkJCXBhdGggPSBwZXJtaXNz
aW9uczsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTkzQjM4RUI2MjU4MjE4
MzMwMDE5OEU2MyAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCkBAIC0yMzc5MCw2ICsyMzgzOSw3IEBACiAJCQkJNzFENkFBMzkxREE0RUFGNzAwQjIz
OTY5IC8qIG1vZGVybi1tZWRpYS1jb250cm9scyAqLywKIAkJCQkzMzNGNzAzRDBGQjQ5QzE2MDA4
RTEyQTYgLyogbm90aWZpY2F0aW9ucyAqLywKIAkJCQlBMUY3NkIwRTFGNDRDMENGMDAxNEMzMTgg
LyogcGF5bWVudHJlcXVlc3QgKi8sCisJCQkJOTNCMEE2NDIyNkNEQzU3NDAwQUEyMUU0IC8qIHBl
cm1pc3Npb25zICovLAogCQkJCTFERUYwNkEyMjMzQzMyREIwMEVFMjI4RCAvKiBwaWN0dXJlaW5w
aWN0dXJlICovLAogCQkJCTA3MkFFMURFMTgzQzA1MTMwMDBBNTk4OCAvKiBwbHVnaW5zICovLAog
CQkJCUNEQzMxMkUwMjJGQ0QwQjAwMDEyMDRFQyAvKiByZW1vdGVwbGF5YmFjayAqLywKQEAgLTMz
NzU3LDYgKzMzODA3LDcgQEAKIAkJCQk2QjUwN0EyNDIzNEJGMzQxMDBCRTdDNjIgLyogTmF2aWdh
dG9ySXNMb2dnZWRJbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUVBNzI1RDYxQUNBQkQ1NzAwRUFE
MTdCIC8qIE5hdmlnYXRvck1lZGlhRGV2aWNlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc3QkE1
NzIyNjBGQTAxNDAwNzJGMTlGIC8qIE5hdmlnYXRvck1lZGlhU2Vzc2lvbi5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJOTNCMEE2NTMyNkNERDE0MTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25z
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTZFNTlERjFERjAxMjhEMDA2NjEyQjkgLyogTmF2aWdh
dG9yV2ViRHJpdmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI3ODI0MTMxOTFGMDBFNzk0
RDYgLyogTmF2aWdhdG9yV2ViWFIuaCBpbiBIZWFkZXJzICovLAogCQkJCThBMzA5QzlGMTIzOTUw
QkUwMENCOTIwNCAvKiBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oIGluIEhlYWRlcnMgKi8sCkBA
IC0zMzk1Niw2ICszNDAwNywxMyBAQAogCQkJCUZENTgxRkI1MTUyMEY5M0IwMDNBN0E3NSAvKiBQ
ZXJpb2RpY1dhdmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUU3NTVFODkyMjRDNzQzNEIwMDlGN0My
MyAvKiBQZXJpb2RpY1dhdmVDb25zdHJhaW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTc1NUU4
OTkyNEM3NDYxRDAwOUY3QzIzIC8qIFBlcmlvZGljV2F2ZU9wdGlvbnMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTkzQjBBNjcwMjZENEI1MzkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTcyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Np
b25EZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1OTI2Q0REMTQxMDBBQTIx
RTQgLyogUGVybWlzc2lvbk5hbWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjdBMjZENkE0
RTkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTkz
QjBBNjU0MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJOTNCMEE2NUIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJOTNCMEE2NTYyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RDVEQzJFMEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVj
dGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMURCQzFCNTYyMzQ3
QjNEMjAwQjkwMUFGIC8qIFBpY3R1cmVJblBpY3R1cmVPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMUQyQzgyQjcyMzZBM0Y2QTAwNTVENkM1IC8qIFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0
LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaAppbmRleCBmMTgxYzc5NmQ2NTBjYzg2ZmUzZjA4YTcyMDA3YTZlZGMy
ZWZiYzc4Li44NTFhMjE0YzlhNDg3ZmY2OGQxNmJlN2RkOGZiYjUyMDg4N2ViOTFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0x
NTQsNiArMTU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKE1vY2tSVENSdHBU
cmFuc2Zvcm0pIFwKICAgICBtYWNybyhOYXZpZ2F0b3JDcmVkZW50aWFscykgXAogICAgIG1hY3Jv
KE5hdmlnYXRvck1lZGlhRGV2aWNlcykgXAorICAgIG1hY3JvKE5hdmlnYXRvclBlcm1pc3Npb25z
KSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yVXNlck1lZGlhKSBcCiAgICAgbWFjcm8oT2ZmbGluZUF1
ZGlvQ29udGV4dCkgXAogICAgIG1hY3JvKE9mZnNjcmVlbkNhbnZhcykgXApAQCAtMTgyLDYgKzE4
Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhQZXJmb3JtYW5jZVBhaW50VGlt
aW5nKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZykgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlU2VydmVyVGltaW5nKSBcCisgICAgbWFjcm8oUGVybWlzc2lvbkRlc2NyaXB0
b3IpIFwKKyAgICBtYWNybyhQZXJtaXNzaW9uU3RhdHVzKSBcCisgICAgbWFjcm8oUGVybWlzc2lv
bnMpIFwKICAgICBtYWNybyhQb2ludGVyRXZlbnQpIFwKICAgICBtYWNybyhQdWJsaWNLZXlDcmVk
ZW50aWFsKSBcCiAgICAgbWFjcm8oUmVzaXplT2JzZXJ2ZXIpIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXRGYWN0b3J5LmluCmluZGV4IDVlNThmMTExNjY3ZWY2MjEwZDUzMTEwZDdiNTRh
ODAyYzg0Mzk1ZDguLjAxM2NlZDA5NDZmZmNkNTI1OWZhMjUwYjE2MDNhMThlNDU5ZTQ1OTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgpAQCAtMzUsNiArMzUsNyBA
QCBPZmZzY3JlZW5DYW52YXMgY29uZGl0aW9uYWw9T0ZGU0NSRUVOX0NBTlZBUwogUGF5bWVudFJl
cXVlc3QgY29uZGl0aW9uYWw9UEFZTUVOVF9SRVFVRVNUCiBQYXltZW50UmVzcG9uc2UgY29uZGl0
aW9uYWw9UEFZTUVOVF9SRVFVRVNUCiBQZXJmb3JtYW5jZQorUGVybWlzc2lvblN0YXR1cwogUGlj
dHVyZUluUGljdHVyZVdpbmRvdyBjb25kaXRpb25hbD1QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJCiBS
ZW1vdGVQbGF5YmFjayBjb25kaXRpb25hbD1XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQKIFJUQ0Rh
dGFDaGFubmVsIGNvbmRpdGlvbmFsPVdFQl9SVEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9UYXNrU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGFza1NvdXJjZS5oCmluZGV4
IDcxMzNmNjc4ZWEyZDk5MjY5NTE2MDIwODY0ZWYxM2Q0ZjNlZmQzOTguLjJkYTQ3YmFkNmM3M2E2
YmE1YmYyODNiOGQzNTJmNDBkMjFhZjAxNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9UYXNrU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaApAQCAt
MzksNiArMzksNyBAQCBlbnVtIGNsYXNzIFRhc2tTb3VyY2UgOiB1aW50OF90IHsKICAgICBNaWNy
b3Rhc2ssCiAgICAgTmV0d29ya2luZywKICAgICBQZXJmb3JtYW5jZVRpbWVsaW5lLAorICAgIFBl
cm1pc3Npb24sCiAgICAgUG9zdGVkTWVzc2FnZVF1ZXVlLAogICAgIFNwZWVjaCwKICAgICBVc2Vy
SW50ZXJhY3Rpb24sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IDk2
NGUyZGQxMjA3MDMzMWE2NWNhMzQxYWM3MGU0YjI4NzQyMDBhMGQuLjU1Y2M0NmUyNTkxODQ2OWYz
MWQ1NmMwNDk2ZTQzZGQ1NWVjZmQ1ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVu
dHMuY3BwCkBAIC02Myw2ICs2Myw3IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBh
Z2VDb25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAiUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lmgi
CisjaW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJQbHVnaW5JbmZv
UHJvdmlkZXIuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXJDbGllbnQuaCIKICNpbmNsdWRl
ICJTZWN1cml0eU9yaWdpbkRhdGEuaCIKQEAgLTExOTMsNyArMTE5NCw4IEBAIFBhZ2VDb25maWd1
cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uV2l0aEVtcHR5Q2xpZW50cyhQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQpCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8RW1wdHlGcmFtZUxvYWRlckNsaWVudD4o
KSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1teVNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+
KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8RW1wdHlNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCks
Ci0gICAgICAgIEVtcHR5QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpjcmVhdGUoKQorICAgICAg
ICBFbXB0eUJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Y3JlYXRlKCksCisgICAgICAgIG1ha2VV
bmlxdWVSZWY8RHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlcj4oKQogICAgIH07CiAKICAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8RW1wdHlDaHJvbWVDbGllbnQ+IGR1bW15Q2hyb21lQ2xpZW50Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5jcHAKaW5kZXggZWVlNjhiNzdlMWU1ZmNlMWU1OWMzMjk0MzRhOWE4NjAwYjM2
OTcxMC4uODYxMDc4YmEwYmY2MTgzYjc3MTE0NWE3NGI0MWJlMDdkN2IwNTYyZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwCkBAIC05OSw2ICs5OSw3IEBACiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VMb2dnaW5n
LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmgiCiAjaW5jbHVkZSAiUGVy
Zm9ybWFuY2VNb25pdG9yLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKICNp
bmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9y
bVNjcmVlbi5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgpAQCAtMzI1LDYgKzMy
Niw3IEBAIFBhZ2U6OlBhZ2UoUGFnZUNvbmZpZ3VyYXRpb24mJiBwYWdlQ29uZmlndXJhdGlvbikK
ICAgICAsIG1fbG9hZHNTdWJyZXNvdXJjZXMocGFnZUNvbmZpZ3VyYXRpb24ubG9hZHNTdWJyZXNv
dXJjZXMpCiAgICAgLCBtX3Nob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nKHBhZ2VD
b25maWd1cmF0aW9uLnNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nKQogICAgICwg
bV9odHRwc1VwZ3JhZGVFbmFibGVkKHBhZ2VDb25maWd1cmF0aW9uLmh0dHBzVXBncmFkZUVuYWJs
ZWQpCisgICAgLCBtX3Blcm1pc3Npb25Db250cm9sbGVyKFdURk1vdmUocGFnZUNvbmZpZ3VyYXRp
b24ucGVybWlzc2lvbkNvbnRyb2xsZXIpKQogewogICAgIHVwZGF0ZVRpbWVyVGhyb3R0bGluZ1N0
YXRlKCk7CiAKQEAgLTM2OTMsNCArMzY5NSw5IEBAIHZvaWQgUGFnZTo6cmVzZXRUZXh0UmVjb2du
aXRpb25SZXN1bHRzKCkKIAogI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKIAorUGVy
bWlzc2lvbkNvbnRyb2xsZXImIFBhZ2U6OnBlcm1pc3Npb25Db250cm9sbGVyKCkKK3sKKyAgICBy
ZXR1cm4gbV9wZXJtaXNzaW9uQ29udHJvbGxlci5nZXQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA5MjU1YmYzMTNjNjdkNzE0ODE1Y2Y3ODE1MjY2ZmZk
ODA1YjIyZjYwLi4zYjFlMjY5MDU1NmRkNGYzZDE3YThlYjg1ZjI0ZDAwNDA4ODc0Mzc1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaApAQCAtMTMxLDYgKzEzMSw3IEBAIGNsYXNzIFBheW1lbnRDb29yZGluYXRvcjsK
IGNsYXNzIFBlcmZvcm1hbmNlTG9nZ2luZzsKIGNsYXNzIFBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVu
dDsKIGNsYXNzIFBlcmZvcm1hbmNlTW9uaXRvcjsKK2NsYXNzIFBlcm1pc3Npb25Db250cm9sbGVy
OwogY2xhc3MgUGx1Z2luRGF0YTsKIGNsYXNzIFBsdWdpbkluZm9Qcm92aWRlcjsKIGNsYXNzIFBs
dWdpblZpZXdCYXNlOwpAQCAtODcyLDYgKzg3Myw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNhY2hl
VGV4dFJlY29nbml0aW9uUmVzdWx0KGNvbnN0IEhUTUxFbGVtZW50JiwgY29uc3QgSW50UmVjdCYg
Y29udGFpbmVyUmVjdCwgY29uc3QgVGV4dFJlY29nbml0aW9uUmVzdWx0Jik7CiAjZW5kaWYKIAor
ICAgIFdFQkNPUkVfRVhQT1JUIFBlcm1pc3Npb25Db250cm9sbGVyJiBwZXJtaXNzaW9uQ29udHJv
bGxlcigpOworCiBwcml2YXRlOgogICAgIHN0cnVjdCBOYXZpZ2F0aW9uIHsKICAgICAgICAgUmVn
aXN0cmFibGVEb21haW4gZG9tYWluOwpAQCAtMTE5NCw2ICsxMTk3LDggQEAgcHJpdmF0ZToKICAg
ICBjb25zdCBib29sIG1faHR0cHNVcGdyYWRlRW5hYmxlZCB7IHRydWUgfTsKICAgICBtdXRhYmxl
IE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtX21lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmll
cjsKIAorICAgIFVuaXF1ZVJlZjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gbV9wZXJtaXNzaW9uQ29u
dHJvbGxlcjsKKwogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKICAgICAvLyBGSVhNRTogVGhl
c2Ugc2hvdWxkIGJlIHJlZmFjdG9yZWQgdG8gdXNlIGEgd2VhayBoYXNoIG1hcCBvZiBIVE1MRWxl
bWVudCB0byBzdGQ6OnBhaXI8VGV4dFJlY29nbml0aW9uUmVzdWx0LCBJbnRTaXplPi4KICAgICBW
ZWN0b3I8c3RkOjpwYWlyPFdlYWtQdHI8SFRNTEVsZW1lbnQ+LCBzdGQ6OnBhaXI8VGV4dFJlY29n
bml0aW9uUmVzdWx0LCBJbnRSZWN0Pj4+IG1fdGV4dFJlY29nbml0aW9uUmVzdWx0c0J5RWxlbWVu
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKaW5kZXggNjc1ZTM2
OWNjMWUyYzJiNzdkOTlmZGQwOTEzNGIxOThmMGNmM2FmMy4uY2I1NjBmZDQxNGEyM2E3NmIyY2M3
YjYwZWE1MDI5OTlhOTgxY2M5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
Q29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJh
dGlvbi5jcHAKQEAgLTU5LDcgKzU5LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYWdl
Q29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklE
LCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRvckNsaWVudCwgUmVmPFNvY2tldFByb3Zp
ZGVyPiYmIHNvY2tldFByb3ZpZGVyLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYgbGli
V2ViUlRDUHJvdmlkZXIsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4mJiBjYWNoZVN0b3JhZ2VQ
cm92aWRlciwgUmVmPFVzZXJDb250ZW50UHJvdmlkZXI+JiYgdXNlckNvbnRlbnRQcm92aWRlciwg
UmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmIGJhY2tGb3J3YXJkQ2xpZW50LCBSZWY8Q29va2llSmFy
PiYmIGNvb2tpZUphciwgVW5pcXVlUmVmPFByb2dyZXNzVHJhY2tlckNsaWVudD4mJiBwcm9ncmVz
c1RyYWNrZXJDbGllbnQsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNsaWVudD4mJiBsb2FkZXJDbGll
bnRGb3JNYWluRnJhbWUsIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmIHNw
ZWVjaFJlY29nbml0aW9uUHJvdmlkZXIsIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+
JiYgbWVkaWFSZWNvcmRlclByb3ZpZGVyLCBSZWY8QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYm
IGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSkKK1BhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmln
dXJhdGlvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+
JiYgZWRpdG9yQ2xpZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJvdmlkZXIsIFVu
aXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlciwgUmVmPENhY2hl
U3RvcmFnZVByb3ZpZGVyPiYmIGNhY2hlU3RvcmFnZVByb3ZpZGVyLCBSZWY8VXNlckNvbnRlbnRQ
cm92aWRlcj4mJiB1c2VyQ29udGVudFByb3ZpZGVyLCBSZWY8QmFja0ZvcndhcmRDbGllbnQ+JiYg
YmFja0ZvcndhcmRDbGllbnQsIFJlZjxDb29raWVKYXI+JiYgY29va2llSmFyLCBVbmlxdWVSZWY8
UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmIHByb2dyZXNzVHJhY2tlckNsaWVudCwgVW5pcXVlUmVm
PEZyYW1lTG9hZGVyQ2xpZW50PiYmIGxvYWRlckNsaWVudEZvck1haW5GcmFtZSwgVW5pcXVlUmVm
PFNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+JiYgc3BlZWNoUmVjb2duaXRpb25Qcm92aWRlciwg
VW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4mJiBtZWRpYVJlY29yZGVyUHJvdmlkZXIs
IFJlZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYgYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5
LCBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+JiYgcGVybWlzc2lvbkNvbnRyb2xsZXIp
CiAgICAgOiBzZXNzaW9uSUQoc2Vzc2lvbklEKQogICAgICwgZWRpdG9yQ2xpZW50KFdURk1vdmUo
ZWRpdG9yQ2xpZW50KSkKICAgICAsIHNvY2tldFByb3ZpZGVyKFdURk1vdmUoc29ja2V0UHJvdmlk
ZXIpKQpAQCAtNzMsNiArNzMsNyBAQCBQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRp
b24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQwogICAgICwgYnJv
YWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KFdURk1vdmUoYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KSkK
ICAgICAsIHNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXIoV1RGTW92ZShzcGVlY2hSZWNvZ25pdGlv
blByb3ZpZGVyKSkKICAgICAsIG1lZGlhUmVjb3JkZXJQcm92aWRlcihXVEZNb3ZlKG1lZGlhUmVj
b3JkZXJQcm92aWRlcikpCisgICAgLCBwZXJtaXNzaW9uQ29udHJvbGxlcihXVEZNb3ZlKHBlcm1p
c3Npb25Db250cm9sbGVyKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJh
dGlvbi5oCmluZGV4IDBmMjU5ZDU2ZDNhMTQyYTE0ZTBlYzg1MTRlMGZkNWIyZmQyOTMwYTUuLmQ3
NWI3MTA0YzM1MDM5MWY1OGE5NjhmYWUyZTZlMDM1NDYxMTZhY2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAgY2xhc3MgTGliV2ViUlRD
UHJvdmlkZXI7CiBjbGFzcyBNZWRpYVJlY29yZGVyUHJvdmlkZXI7CiBjbGFzcyBQYXltZW50Q29v
cmRpbmF0b3JDbGllbnQ7CiBjbGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQ7CitjbGFzcyBQ
ZXJtaXNzaW9uQ29udHJvbGxlcjsKIGNsYXNzIFBsdWdpbkluZm9Qcm92aWRlcjsKIGNsYXNzIFBy
b2dyZXNzVHJhY2tlckNsaWVudDsKIGNsYXNzIFNvY2tldFByb3ZpZGVyOwpAQCAtNzQsNyArNzUs
NyBAQCBjbGFzcyBTcGVlY2hTeW50aGVzaXNDbGllbnQ7CiBjbGFzcyBQYWdlQ29uZmlndXJhdGlv
biB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNvbmZpZ3VyYXRpb24pOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmln
dXJhdGlvbihQQUw6OlNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiwgUmVmPFNv
Y2tldFByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYsIFJlZjxDYWNo
ZVN0b3JhZ2VQcm92aWRlcj4mJiwgUmVmPFVzZXJDb250ZW50UHJvdmlkZXI+JiYsIFJlZjxCYWNr
Rm9yd2FyZENsaWVudD4mJiwgUmVmPENvb2tpZUphcj4mJiwgVW5pcXVlUmVmPFByb2dyZXNzVHJh
Y2tlckNsaWVudD4mJiwgVW5pcXVlUmVmPEZyYW1lTG9hZGVyQ2xpZW50PiYmLCBVbmlxdWVSZWY8
U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4mJiwgVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92
aWRlcj4mJiwgUmVmPEJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4mJik7CisgICAgV0VCQ09SRV9F
WFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpTZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JD
bGllbnQ+JiYsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3Zp
ZGVyPiYmLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYsIFJlZjxVc2VyQ29udGVudFByb3Zp
ZGVyPiYmLCBSZWY8QmFja0ZvcndhcmRDbGllbnQ+JiYsIFJlZjxDb29raWVKYXI+JiYsIFVuaXF1
ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNsaWVu
dD4mJiwgVW5pcXVlUmVmPFNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxN
ZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYsIFJlZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYs
IFVuaXF1ZVJlZjxQZXJtaXNzaW9uQ29udHJvbGxlcj4mJik7CiAgICAgV0VCQ09SRV9FWFBPUlQg
flBhZ2VDb25maWd1cmF0aW9uKCk7CiAgICAgUGFnZUNvbmZpZ3VyYXRpb24oUGFnZUNvbmZpZ3Vy
YXRpb24mJik7CiAKQEAgLTEzOCw2ICsxMzksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCB1c2VyU2Ny
aXB0c1Nob3VsZFdhaXRVbnRpbE5vdGlmaWNhdGlvbiB7IHRydWUgfTsKICAgICBTaG91bGRSZWxh
eFRoaXJkUGFydHlDb29raWVCbG9ja2luZyBzaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9j
a2luZyB7IFNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nOjpObyB9OwogICAgIGJv
b2wgaHR0cHNVcGdyYWRlRW5hYmxlZCB7IHRydWUgfTsKKworICAgIFVuaXF1ZVJlZjxQZXJtaXNz
aW9uQ29udHJvbGxlcj4gcGVybWlzc2lvbkNvbnRyb2xsZXI7CiB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApp
bmRleCA2NmFlZGE0M2M4MmQ4YmZiMzM1YmJmZWY2MDk1ZDA0ZWZhZGI4NjIwLi5hNzQ1ZDcyMDE1
Y2ZjMTk1ZmI5NmYyY2M1NTg1OGE4MzFiNzUwZWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTY5NCw2ICs2
OTQsNyBAQCBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk1lZGlhS2V5U3lzdGVtQ2xpZW50
LmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92
aWRlci5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50
LmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGll
bnQuY3BwCitXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVy
LmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3Bw
CiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5jcHAKIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNWZiMzA4OTUwMTU2MjQ4NjY2MTUzYzYy
NGY0MDM0ZWE0YTg4NGZkZi4uOWE4Mjk2Yjk4ZDViYjBkYjYzYTc4MGYxNWJmMzQyMzNlN2U0M2Mx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xNzIsNiAr
MTcyLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0cnkuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL01lZGlhU3RyZWFtUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGVyZm9y
bWFuY2VMb2dnaW5nQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uU3RhdGUu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QdWJsaWNTdWZm
aXguaD4KQEAgLTg0OTMsNiArODQ5NCwxMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmV2b2tlR2Vv
bG9jYXRpb25BdXRob3JpemF0aW9uVG9rZW4oY29uc3QgU3RyaW5nJiBhdXRob3JpemF0aQogICAg
IG1fZ2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIucmV2b2tlQXV0aG9yaXphdGlv
blRva2VuKGF1dGhvcml6YXRpb25Ub2tlbik7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZXF1
ZXN0UGVybWlzc2lvbihjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBjb25zdCBXZWJDb3Jl
OjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6
UGVybWlzc2lvblN0YXRlKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICAvLyBGSVhNRTog
U2hvdyBhIHByb21wdCBmb3IgdXNlciBpbnB1dC4KKyAgICBjb21wbGV0aW9uSGFuZGxlcihQZXJt
aXNzaW9uU3RhdGU6OkdyYW50ZWQpOworfQorCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIFVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5JiBXZWJQYWdlUHJveHk6OnVzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCmluZGV4IGVhMWMyMmZiNmIxMWJlOTY4OTkyODI2NGQzYmYzZmM4NDcxMDli
OGQuLjQ2MWFhY2I4ODg2YTUyMzFjY2FhZmYwNzRmMmExYTU0YzAxNzdkNzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0yOTQsNiArMjk0LDcgQEAgc3RydWN0IExp
bmtJY29uOwogc3RydWN0IE1lZGlhU3RyZWFtUmVxdWVzdDsKIHN0cnVjdCBNZWRpYVVzYWdlSW5m
bzsKIHN0cnVjdCBNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uOworc3RydWN0IFBl
cm1pc3Npb25EZXNjcmlwdG9yOwogc3RydWN0IFByZXdhcm1JbmZvcm1hdGlvbjsKIHN0cnVjdCBT
ZWN1cml0eU9yaWdpbkRhdGE7CiBzdHJ1Y3QgU2hhcmVEYXRhOwpAQCAtMjExNyw2ICsyMTE4LDcg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZy
YW1lKEdlb2xvY2F0aW9uSWRlbnRpZmllciwgRnJhbWVJbmZvRGF0YSYmKTsKICAgICB2b2lkIHJl
dm9rZUdlb2xvY2F0aW9uQXV0aG9yaXphdGlvblRva2VuKGNvbnN0IFN0cmluZyYgYXV0aG9yaXph
dGlvblRva2VuKTsKKyAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKGNvbnN0IFdlYkNvcmU6OkNs
aWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpPiYmKTsKIAogI2lmIFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQogICAgIHZvaWQgc2VuZE1lc3NhZ2VUb1dlYlZp
ZXcoVXNlck1lc3NhZ2UmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW4KaW5kZXggYmMzN2I4ZmM2YWRmM2VhZDE4NzJkMTE1NWZmMGNiZDAw
OWRjMGFmOS4uMDdlMGY1NDgwMzQ2OTcwM2E2ZjczN2Q5OTMwN2IxZWM3MzUwY2QzMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAt
NjAyLDQgKzYwMiw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAjaWYgSEFWRShBUktJ
VF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgTW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhz
dHJ1Y3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQgZWxlbWVudENvbnRleHQsIFVSTCB1cmwsIFN0
cmluZyB1dWlkLCBXZWJDb3JlOjpGbG9hdFNpemUgc2l6ZSkKICNlbmRpZgorCisgICAgcmVxdWVz
dFBlcm1pc3Npb24oc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBvcmlnaW4sIHN0cnVjdCBX
ZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yKSAtPiAoZW51bTp1aW50OF90
IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBzdGF0ZSkgQXN5bmMKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZlM2QzMmIzMjk1YzJj
NDRmZDQ0NDRjZGQ3ZjE0MWYyNDAwNGNhMDIuLmZiNjhhM2JkMTZkMjczODJjZDMzYzkzYjEwYmVi
ZTI5M2IzM2E1MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTQ5Niw2ICsxNDk2LDcgQEAKIAkJOTNBQjlCNEUyNTc1NjdFMjAwOThC
MTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBQjlCNDIyNTc0OTI4
QzAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZS5o
ICovOyB9OwogCQk5M0FCOUI1NTI1NzVBMjc2MDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25S
ZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0FCOUI0RjI1NzU4OTExMDA5OEIx
MEUgLyogU3BlZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi87IH07CiAJCTkzQUI5QjU2MjU3NUEyOEIwMDk4QjEwRSAvKiBTcGVlY2hS
ZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQUI5
QjUxMjU3NTg5MTEwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVk
aWFTb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJOTNCMEE2NzUyNkQ1
QURDRjAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY3NDI2RDVBNzJFMDBBQTIxRTQg
LyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLzsgfTsKIAkJOTNCMjYxNEQyMjdEMTQ5RTAw
Qjk3QTc2IC8qIFN0b3JhZ2VNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5M0IyNjE0OTIyN0QxNDcyMDBCOTdBNzYgLyogU3RvcmFnZU1hbmFn
ZXIuaCAqLzsgfTsKIAkJOTNCMjYxNEUyMjdEMTRCMTAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURh
dGFiYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
M0IyNjE0NTIyN0QxNDcwMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2UuaCAqLzsgfTsK
IAkJOTNCMjYxNEYyMjdEMTRCMTAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMjYx
NDYyMjdEMTQ3MTAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5oICovOyB9
OwpAQCAtNDkxNCw2ICs0OTE1LDEwIEBACiAJCTkzQUI5QjUyMjU3NTg5MTIwMDk4QjEwRSAvKiBT
cGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXNS
ZXBsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwZWVjaFJlY29nbml0
aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNBQjlCNTMyNTc1ODkxMjAwOThCMTBFIC8qIFNw
ZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGVlY2hSZWNvZ25pdGlvblJlbW90
ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTNBQjlCNTQyNTc1ODkxMjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9u
UmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2Vy
TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NkQyNkQ0NTE1
MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25NYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFBlcm1pc3Npb25NYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTNCMEE2NkUyNkQ0NTE1MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25NYW5hZ2Vy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25NYW5hZ2VyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjczMjZENUE3MkUwMEFBMjFFNCAv
KiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTkzQjBBNjc0MjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29u
dHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQZXJtaXNzaW9u
Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IyNjE0NTIyN0Qx
NDcwMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTG9jYWxTdG9yYWdlRGF0YWJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTNCMjYxNDYyMjdEMTQ3MTAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFi
YXNlVHJhY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2NhbFN0b3Jh
Z2VEYXRhYmFzZVRyYWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMjYx
NDcyMjdEMTQ3MTAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRy
YWNrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTYyMyw2ICs5NjI4LDE1
IEBACiAJCQlwYXRoID0gU3BlZWNoOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsK
KwkJOTNCMEE2NkMyNkQ0NTExRjAwQUEyMUU0IC8qIFBlcm1pc3Npb24gKi8gPSB7CisJCQlpc2Eg
PSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTkzQjBBNjZEMjZENDUxNTAwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uTWFuYWdlci5jcHAgKi8sCisJCQkJOTNCMEE2NkUyNkQ0NTE1MDAwQUEy
MUU0IC8qIFBlcm1pc3Npb25NYW5hZ2VyLmggKi8sCisJCQkpOworCQkJcGF0aCA9IFBlcm1pc3Np
b247CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk5M0IyNjE0MzIyN0QxNDMx
MDBCOTdBNzYgLyogV2ViU3RvcmFnZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCkBAIC05ODYzLDYgKzk4NzcsNyBAQAogCQkJCTRBNDEwRjQxMTlBRjdCMjcwMDJF
QkFCNSAvKiBNZWRpYVN0cmVhbSAqLywKIAkJCQk1MTA1QjBEMjE2MkY3QTVFMDBFMjc3MDkgLyog
TmV0d29yayAqLywKIAkJCQkzMTA5OTk3NDE0NkM4QUE4MDAyOURFQjkgLyogTm90aWZpY2F0aW9u
cyAoVXNlcikgKi8sCisJCQkJOTNCMEE2NkMyNkQ0NTExRjAwQUEyMUU0IC8qIFBlcm1pc3Npb24g
Ki8sCiAJCQkJMUE2RkI3QUExMUU2NEI0OTAwREIxMzcxIC8qIFBsdWdpbnMgKi8sCiAJCQkJOTNB
QjlCNDgyNTc0QzVDRTAwOThCMTBFIC8qIFNwZWVjaCAqLywKIAkJCQk1MTE4RTk5ODFGMjk1MjU5
MDAzRUY5RjUgLyogU3RvcmFnZSAqLywKQEAgLTk5MzMsNiArOTk0OCw4IEBACiAJCQkJNTEyMTI3
QzIxOTA4MjM5QTAwREFGMzVDIC8qIFdlYlBhc3RlYm9hcmRPdmVycmlkZXMuaCAqLywKIAkJCQkw
Rjg1MEZFNDFFRDdDMzlGMDBGQjc3QTcgLyogV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmNw
cCAqLywKIAkJCQkwRjg1MEZFNTFFRDdDMzlGMDBGQjc3QTcgLyogV2ViUGVyZm9ybWFuY2VMb2dn
aW5nQ2xpZW50LmggKi8sCisJCQkJOTNCMEE2NzMyNkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBlcm1p
c3Npb25Db250cm9sbGVyLmNwcCAqLywKKwkJCQk5M0IwQTY3NDI2RDVBNzJFMDBBQTIxRTQgLyog
V2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLywKIAkJCQkxQTNFNzM2MDExQ0MyNjU5MDA3QkQ1
MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCAqLywKIAkJCQkxQTNFNzM1RjExQ0MyNjU5
MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggKi8sCiAJCQkJRDNCOTQ4NDIxMUZG
NEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5jcHAgKi8sCkBAIC0xMjY2Miw2ICsxMjY3OSw3
IEBACiAJCQkJQTE3OThCNEMyMjJGMUJENDAwMDc2NEJEIC8qIFdlYlBheW1lbnRDb29yZGluYXRv
clByb3h5Q29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjFGNzk5MUQxQjM2MTMwMDdDOUJE
MSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
IAkJCQkwRjg1MEZFNzFFRDdDMzlGMDBGQjc3QTcgLyogV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY3NTI2RDVBRENGMDBBQTIxRTQgLyogV2Vi
UGVybWlzc2lvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBM0U3MzYxMTFDQzI2
NTkwMDdCRDUzOSAvKiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDNTc0NEYwMTI2MzhGQjMwMDZGMEYxMiAvKiBXZWJQb3B1cEl0ZW0uaCBpbiBIZWFkZXJzICov
LAogCQkJCUQzQjk0ODQ3MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuaCBpbiBIZWFk
ZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YWI5MDM1OGQxY2IxNjlhYzVlN2JiM2E0Yjc3OWVlYWU5NjU2MDA1MwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9u
Q29udHJvbGxlci5jcHAKQEAgLTAsMCArMSwxMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK1dlYlBlcm1pc3Npb25Db250cm9sbGVyOjpXZWJQZXJtaXNzaW9uQ29u
dHJvbGxlcihXZWJQYWdlJiBwYWdlKQorICAgIDogbV9wYWdlKG1ha2VXZWFrUHRyKHBhZ2UpKQor
eworfQorCitQZXJtaXNzaW9uU3RhdGUgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnF1ZXJ5KFdl
YkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0
b3ImJiBkZXNjcmlwdG9yKQoreworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm4gV2Vi
Q29yZTo6UGVybWlzc2lvblN0YXRlOjpEZW5pZWQ7CisKKyAgICByZXR1cm4gcXVlcnlDYWNoZShX
VEZNb3ZlKG9yaWdpbiksIFdURk1vdmUoZGVzY3JpcHRvcikpOworfQorCit2b2lkIFdlYlBlcm1p
c3Npb25Db250cm9sbGVyOjpyZXF1ZXN0KENsaWVudE9yaWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6
UGVybWlzc2lvbkRlc2NyaXB0b3ImJiBkZXNjcmlwdG9yLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFBlcm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgaWYgKCFtX3Bh
Z2UpCisgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihQZXJtaXNzaW9uU3RhdGU6OkRl
bmllZCk7CisKKyAgICBhdXRvIGNhY2hlZFJlc3VsdCA9IHF1ZXJ5Q2FjaGUob3JpZ2luLCBkZXNj
cmlwdG9yKTsKKyAgICBpZiAoY2FjaGVkUmVzdWx0ICE9IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0
ZTo6UHJvbXB0KQorICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoY2FjaGVkUmVzdWx0
KTsKKworICAgIG1fcmVxdWVzdHMuYXBwZW5kKFBlcm1pc3Npb25SZXF1ZXN0IHsgV1RGTW92ZShv
cmlnaW4pLCBXVEZNb3ZlKGRlc2NyaXB0b3IpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSB9
KTsKKyAgICB0cnlQcm9jZXNzaW5nUmVxdWVzdCgpOworfQorCitQZXJtaXNzaW9uU3RhdGUgV2Vi
UGVybWlzc2lvbkNvbnRyb2xsZXI6OnF1ZXJ5Q2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3Jp
Z2luJiBvcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlw
dG9yKQoreworICAgIGlmIChtX2NhY2hlZFBlcm1pc3Npb25FbnRyaWVzLmNvbnRhaW5zKG9yaWdp
bikpIHsKKyAgICAgICAgYXV0byBwZXJtaXNzaW9uRW50cmllcyA9IG1fY2FjaGVkUGVybWlzc2lv
bkVudHJpZXMuZ2V0KG9yaWdpbik7CisgICAgICAgIGZvciAoYXV0byYgZW50cnkgOiBwZXJtaXNz
aW9uRW50cmllcykgeworICAgICAgICAgICAgaWYgKGVudHJ5LmZpcnN0ID09IGRlc2NyaXB0b3Ip
CisgICAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5LnNlY29uZDsKKyAgICAgICAgfQorICAgIH0K
KworICAgIHJldHVybiBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdDsKK30KKwordm9p
ZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6dXBkYXRlQ2FjaGUoY29uc3QgQ2xpZW50T3JpZ2lu
JiBvcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9y
LCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpCit7CisgICAgYXV0byYgZW50cmllcyA9
IG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXMuZW5zdXJlKG9yaWdpbiwgWyZdKCkgeworICAgICAg
ICByZXR1cm4gVmVjdG9yPFBlcm1pc3Npb25FbnRyeT4geyB9OworICAgIH0pLml0ZXJhdG9yLT52
YWx1ZTsKKyAgICBmb3IgKGF1dG8mIGVudHJ5IDogZW50cmllcykgeworICAgICAgICBpZiAoZW50
cnkuZmlyc3QgPT0gZGVzY3JpcHRvcikgeworICAgICAgICAgICAgaWYgKGVudHJ5LnNlY29uZCA9
PSBzdGF0ZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIGVudHJ5LnNl
Y29uZCA9IHN0YXRlOworICAgICAgICAgICAgcGVybWlzc2lvbkNoYW5nZWQob3JpZ2luLCBkZXNj
cmlwdG9yLCBzdGF0ZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9Cit9
CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnRyeVByb2Nlc3NpbmdSZXF1ZXN0KCkK
K3sKKyAgICBpZiAobV9yZXF1ZXN0cy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAg
IHdoaWxlICghbV9yZXF1ZXN0cy5pc0VtcHR5KCkpIHsKKyAgICAgICAgYXV0byYgY3VycmVudFJl
cXVlc3QgPSBtX3JlcXVlc3RzLmZpcnN0KCk7CisgICAgICAgIGlmIChjdXJyZW50UmVxdWVzdC5p
c1dhaXRpbmdGb3JSZXBseSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAvLyBDYWNo
ZSBtYXkgaGF2ZSBjaGFuZ2VkIGJldHdlZW4gcmVxdWVzdHMuCisgICAgICAgIGF1dG8gY2FjaGVk
UmVzdWx0ID0gcXVlcnlDYWNoZShjdXJyZW50UmVxdWVzdC5vcmlnaW4sIGN1cnJlbnRSZXF1ZXN0
LmRlc2NyaXB0b3IpOworICAgICAgICBpZiAoY2FjaGVkUmVzdWx0ICE9IFdlYkNvcmU6OlBlcm1p
c3Npb25TdGF0ZTo6UHJvbXB0KSB7CisgICAgICAgICAgICBhdXRvIHRha2VuUmVxdWVzdCA9IG1f
cmVxdWVzdHMudGFrZUZpcnN0KCk7CisgICAgICAgICAgICB0YWtlblJlcXVlc3QuY29tcGxldGlv
bkhhbmRsZXIoY2FjaGVkUmVzdWx0KTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9
CisKKyAgICAgICAgY3VycmVudFJlcXVlc3QuaXNXYWl0aW5nRm9yUmVwbHkgPSB0cnVlOworICAg
ICAgICBtX3BhZ2UtPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZVByb3h5Ojpy
ZXF1ZXN0UGVybWlzc2lvbihjdXJyZW50UmVxdWVzdC5vcmlnaW4sIGN1cnJlbnRSZXF1ZXN0LmRl
c2NyaXB0b3IpLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldKGF1dG8gc3Rh
dGUpIHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgICAgICBhdXRvIHRha2VuUmVxdWVzdCA9IG1fcmVxdWVzdHMudGFrZUZpcnN0
KCk7CisgICAgICAgICAgICB0YWtlblJlcXVlc3QuY29tcGxldGlvbkhhbmRsZXIoc3RhdGUpOwor
ICAgICAgICAgICAgdXBkYXRlQ2FjaGUodGFrZW5SZXF1ZXN0Lm9yaWdpbiwgdGFrZW5SZXF1ZXN0
LmRlc2NyaXB0b3IsIHN0YXRlKTsKKworICAgICAgICAgICAgdHJ5UHJvY2Vzc2luZ1JlcXVlc3Qo
KTsKKyAgICAgICAgfSk7CisgICAgfQorfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVy
OjphZGRPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImIG9ic2VydmVyKQorewor
ICAgIG1fb2JzZXJ2ZXJzLmFkZChvYnNlcnZlcik7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNv
bnRyb2xsZXI6OnJlbW92ZU9ic2VydmVyKFdlYkNvcmU6OlBlcm1pc3Npb25PYnNlcnZlciYgb2Jz
ZXJ2ZXIpCit7CisgICAgbV9vYnNlcnZlcnMucmVtb3ZlKG9ic2VydmVyKTsKK30KKwordm9pZCBX
ZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cGVybWlzc2lvbkNoYW5nZWQoY29uc3QgV2ViQ29yZTo6
Q2xpZW50T3JpZ2luJiBvcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9y
JiBkZXNjcmlwdG9yLCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpCit7CisgICAgZm9y
IChhdXRvJiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKSB7CisgICAgICAgIGlmIChvYnNlcnZlci5v
cmlnaW4oKSA9PSBvcmlnaW4gJiYgb2JzZXJ2ZXIuZGVzY3JpcHRvcigpID09IGRlc2NyaXB0b3Ip
CisgICAgICAgICAgICBvYnNlcnZlci5zdGF0ZUNoYW5nZWQoc3RhdGUpOworICAgIH0KK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjBjNmQ1MTBjNzEwZTUzZTk2YWM2YjQ4MjU3N2QzZTQyN2FkYmIxZGQKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
UGVybWlzc2lvbkNvbnRyb2xsZXIuaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1pc3Npb25Db250cm9sbGVyLmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uRGVzY3JpcHRvci5oPgorCituYW1lc3BhY2UgV2Vi
S2l0IHsKKworY2xhc3MgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIgZmluYWwgOiBwdWJsaWMgV2Vi
Q29yZTo6UGVybWlzc2lvbkNvbnRyb2xsZXIgeworcHVibGljOgorICAgIGV4cGxpY2l0IFdlYlBl
cm1pc3Npb25Db250cm9sbGVyKFdlYlBhZ2UmKTsKKworcHJpdmF0ZToKKyAgICAvLyBXZWJDb3Jl
OjpQZXJtaXNzaW9uQ29udHJvbGxlcgorICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBxdWVy
eShXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3Im
JikgZmluYWw7CisgICAgdm9pZCByZXF1ZXN0KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmLCBXZWJD
b3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNv
cmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYpIGZpbmFsOworICAgIHZvaWQgYWRkT2JzZXJ2ZXIoV2Vi
Q29yZTo6UGVybWlzc2lvbk9ic2VydmVyJikgZmluYWw7CisgICAgdm9pZCByZW1vdmVPYnNlcnZl
cihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImKSBmaW5hbDsKKworICAgIFdlYkNvcmU6OlBl
cm1pc3Npb25TdGF0ZSBxdWVyeUNhY2hlKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIGNv
bnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJik7CisgICAgdm9pZCB1cGRhdGVDYWNo
ZShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9u
RGVzY3JpcHRvciYsIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk7CisgICAgdm9pZCB0cnlQcm9j
ZXNzaW5nUmVxdWVzdCgpOworICAgIHZvaWQgcGVybWlzc2lvbkNoYW5nZWQoY29uc3QgV2ViQ29y
ZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImLCBX
ZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpOworCisgICAgV2Vha1B0cjxXZWJQYWdlPiBtX3BhZ2U7
CisgICAgV2Vha0hhc2hTZXQ8V2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyPiBtX29ic2VydmVy
czsKKworICAgIHVzaW5nIFBlcm1pc3Npb25FbnRyeSA9IHN0ZDo6cGFpcjxXZWJDb3JlOjpQZXJt
aXNzaW9uRGVzY3JpcHRvciwgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlPjsKKyAgICBIYXNoTWFw
PFdlYkNvcmU6OkNsaWVudE9yaWdpbiwgVmVjdG9yPFBlcm1pc3Npb25FbnRyeT4+IG1fY2FjaGVk
UGVybWlzc2lvbkVudHJpZXM7CisKKyAgICBzdHJ1Y3QgUGVybWlzc2lvblJlcXVlc3QgeworICAg
ICAgICBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luOworICAgICAgICBXZWJDb3JlOjpQZXJt
aXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yOworICAgICAgICBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+IGNvbXBsZXRpb25IYW5kbGVyOworICAgICAg
ICBib29sIGlzV2FpdGluZ0ZvclJlcGx5IHsgZmFsc2UgfTsKKyAgICB9OworICAgIERlcXVlPFBl
cm1pc3Npb25SZXF1ZXN0PiBtX3JlcXVlc3RzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAw
NGUzYWUyMDE0M2YyZjNkYmQyMDY0YTMwMmYwMWI4NGVkY2E5NjQ1Li43MTFlZDhlOTIyNzZlYjkz
MWY1NDQ1Yzc0ZmQ2YzNiMGU5ZWI1NDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTIxLDYgKzEyMSw3IEBACiAjaW5jbHVkZSAiV2ViUGFn
ZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQYXltZW50Q29vcmRpbmF0b3IuaCIKICNp
bmNsdWRlICJXZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaCIKKyNpbmNsdWRlICJXZWJQZXJt
aXNzaW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIldlYlBsdWdpbkluZm9Qcm92aWRlci5oIgog
I2luY2x1ZGUgIldlYlBvcHVwTWVudS5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzRGVmaW5p
dGlvbnMuaCIKQEAgLTU2Myw3ICs1NjQsOCBAQCBXZWJQYWdlOjpXZWJQYWdlKFBhZ2VJZGVudGlm
aWVyIHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAg
ICAgIG1ha2VVbmlxdWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KG1fbWFpbkZyYW1lLmNvcHlS
ZWYoKSksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViU3BlZWNoUmVjb2duaXRpb25Qcm92aWRl
cj4obV9pZGVudGlmaWVyKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJv
dmlkZXI+KCp0aGlzKSwKLSAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuYnJvYWRjYXN0
Q2hhbm5lbFJlZ2lzdHJ5KCkKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuYnJvYWRj
YXN0Q2hhbm5lbFJlZ2lzdHJ5KCksCisgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViUGVybWlzc2lv
bkNvbnRyb2xsZXI+KCp0aGlzKQogICAgICk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21l
Q2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudCgqdGhpcyk7CiAjaWYgRU5BQkxFKENPTlRFWFRf
TUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
RGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmgKaW5kZXggYmJmOGQxYmI4Y2U2YzMw
MWRjM2VmMjAxOTUzZDgyZmVjMDVlZGQ1OC4uNTZiYzgxYzc4ZjM0YWE0NTM0NzkzNWQyNzFlYzU3
MGMzZmM3ZWU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaApAQCAtNTAsNyArNTAs
NyBAQCBwcml2YXRlOgogICAgIGJvb2wgc3RhcnROb3RpZmljYXRpb25NZWNoYW5pc20oKSBmaW5h
bDsKICAgICB2b2lkIHN0b3BOb3RpZmljYXRpb25NZWNoYW5pc20oKSBmaW5hbDsKIAotICAgIHZv
aWQgYWRqdXN0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKEZyYW1lc1BlclNlY29uZCkgZmluYWw7
CisgICAgdm9pZCBhZGp1c3RQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQoV2ViQ29yZTo6RnJhbWVz
UGVyU2Vjb25kKSBmaW5hbDsKIAogICAgIERpc3BsYXlMaW5rT2JzZXJ2ZXJJRCBtX29ic2VydmVy
SUQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlJ1bkxvb3BPYnNlcnZlcj4gbV9ydW5M
b29wT2JzZXJ2ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
aW5kZXggY2Q2YTVmNTcyOTk0ZjdlYzRmYmRlNzYzN2RmODY3YmQ1MmYzYzgzNC4uNDgwM2ViYzll
Yzc3ZTg4ZTE1YjI4ZTJiZWRjMTZkNjczYTcyODljZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTk1LDYgKzE5NSw3IEBACiAjaW1wb3J0IDxXZWJD
b3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFnZUNvbmZpZ3VyYXRpb24uaD4KICNpbXBv
cnQgPFdlYkNvcmUvUGF0aFV0aWxpdGllcy5oPgorI2ltcG9ydCA8V2ViQ29yZS9QZXJtaXNzaW9u
Q29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5o
PgogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybVNjcmVlbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9Q
cm9ncmVzc1RyYWNrZXIuaD4KQEAgLTE1MzYsNyArMTUzNyw4IEBAIHN0YXRpYyB2b2lkIFdlYktp
dEluaXRpYWxpemVHYW1lcGFkUHJvdmlkZXJJZk5lY2Vzc2FyeSgpCiAgICAgICAgIG1ha2VVbmlx
dWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2Vi
Q29yZTo6RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigpLAogICAgICAgICBtYWtlVW5p
cXVlUmVmPFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKSwKLSAgICAgICAgV2ViQnJv
YWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShbW3NlbGYgcHJlZmVyZW5jZXNdIHBy
aXZhdGVCcm93c2luZ0VuYWJsZWRdKQorICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0
cnk6OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZF0pLAorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15UGVybWlzc2lvbkNvbnRy
b2xsZXI+KCkKICAgICApOwogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHBhZ2VDb25m
aWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoc2VsZik7CkBAIC0x
ODE0LDcgKzE4MTYsOCBAQCBzdGF0aWMgdm9pZCBXZWJLaXRJbml0aWFsaXplR2FtZXBhZFByb3Zp
ZGVySWZOZWNlc3NhcnkoKQogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xp
ZW50PigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15U3BlZWNoUmVjb2du
aXRpb25Qcm92aWRlcj4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpNZWRpYVJl
Y29yZGVyUHJvdmlkZXI+KCksCi0gICAgICAgIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6
Z2V0T3JDcmVhdGUoW1tzZWxmIHByZWZlcmVuY2VzXSBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSkK
KyAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShbW3NlbGYg
cHJlZmVyZW5jZXNdIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdKSwKKyAgICAgICAgbWFrZVVuaXF1
ZVJlZjxXZWJDb3JlOjpEdW1teVBlcm1pc3Npb25Db250cm9sbGVyPigpCiAgICAgKTsKICAgICBw
YWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50SU9TKHNl
bGYpOwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjEzNWZkYzMwOTc1NjA5NzZk
YTgwOGM5OTg5ZjAwNzNiYzkxZDRlOS4uODhhYmIwM2I2YjZmMzgyZTFiMzE2YmY5YmFjMmYzY2Y0
MDg1MjQwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA4LTI2ICBTaWh1aSBMaXUgIDxz
aWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdHVicyBmb3IgUGVybWlzc2lvbnMg
QVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkz
MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRl
c3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZp
Z2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L3drMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTA4LTI1ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ3Jhc2ggaW4gR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6OnJlc2hhcGVEaXNwbGF5QnVmZmVyQmFja2luZwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKaW5kZXggOGE2NjUwZjg4Mjg0OTk4MDJhOWQyMGVmZTY5YjU0MzM3YjY0NGI4
Zi4uMzlhZTI4Zjc0NDNiNGQ0M2MxMTQ0NzY5MTNlZGZmNDEwMzYwNDVhMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNz
aW9ucyBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyOTMzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVz
cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGlj
eS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxv
Y2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1mZXRjaC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2Rp
Yy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDgtMjUg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjIHdrMl0gaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1w
b2xpY3kvcmVwb3J0aW5nLXRvLWZyYW1lLW93bmVyLmh0dHBzLmh0bWwgaXMgYSBmbGFreSBmYWls
dXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2YmRlMmY5NGVhZDIxN2I4NjQ0MzI1NzE4YzFmNGM2
MjExZjI3NjcwLi44YmM5MzY4ZDhhOGVkMjhiYWFhNTQxM2RiZjhhYmYyYzE2ZmQxOTFmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTE5Niw2ICsxOTYsNyBAQCBmYXN0L3NwZWVjaHJlY29nbml0aW9u
L3Blcm1pc3Npb24tZXJyb3IuaHRtbCBbIFNraXAgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9z
dGFydC1yZWNvZ25pdGlvbi10aGVuLXN0b3AuaHRtbCBbIFNraXAgXQogZmFzdC9zcGVlY2hyZWNv
Z25pdGlvbi9zdGFydC1zZWNvbmQtcmVjb2duaXRpb24uaHRtbCBbIFNraXAgXQogZmFzdC9zcGVl
Y2hyZWNvZ25pdGlvbi9pb3MvIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Blcm1pc3Npb25zLyBbIFNraXAgXQogCiAjIGFwcC1wcml2YWN5LXJlcG9ydCB0ZXN0cyBy
ZWx5IG9uIFdlYktpdEFkZGl0aW9ucwogaHR0cC90ZXN0cy9hcHAtcHJpdmFjeS1yZXBvcnQvIFsg
U2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVz
cy5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGI4NGQ0MGQ3NjVmMjA0MDgzZGVmOGI2NzcwMGM0MjA0
NGIwMzQ2OTguLjBjNGJhYTBjZmVlMDFmOTRjZWFmNGFmN2ZiMzhmODliNGZiNmJiZTcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlz
c2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhw
ZWN0ZWQudHh0CkBAIC0xOSwyOSArMTksMjkgQEAgUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVk
ZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmln
YXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JMYW5ndWFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUK
IFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvck9uTGluZTogbWVtYmVyIG5h
bWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckNv
bmN1cnJlbnRIYXJkd2FyZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKLUZBSUwgUGVybWlzc2lv
blN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVz
IiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVy
bWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3Np
bmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0
YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwg
UGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0
eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBw
cm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVz
IGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3Bl
cnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVy
dHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBtdXN0
IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHBlcm1pc3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFsczog
VW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxs
IGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVy
bWlzc2lvblN0YXR1cyIKLUZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIHBlcm1pc3Npb25TdGF0dXMg
YXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVj
dCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzdGF0ZSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hl
biBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvbmNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5l
eHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1
dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlz
c2lvblN0YXR1cyIKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkg
IlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3Qg
bGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcK
LUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
UGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJ
TCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMi
IGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9u
cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBxdWVyeShvYmplY3QpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVy
bWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgbXVzdCBiZSBwcmltYXJ5IGludGVy
ZmFjZSBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9m
IG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIFN0cmlu
Z2lmaWNhdGlvbiBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgYXNzZXJ0X2VxdWFsczogd3Jvbmcg
dHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlM
IFBlcm1pc3Npb25zIGludGVyZmFjZTogbmF2aWdhdG9yLnBlcm1pc3Npb25zIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAicXVlcnkob2JqZWN0KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2Vx
dWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRl
ZmluZWQiCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogY2FsbGluZyBxdWVyeShvYmplY3Qp
IG9uIG5hdmlnYXRvci5wZXJtaXNzaW9ucyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhy
b3cgVHlwZUVycm9yIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQg
Im9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgcGVybWlzc2lvbnMgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11
c3QgaGF2ZSBhIHByb3BlcnR5ICJwZXJtaXNzaW9ucyIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
LUZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogbmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAicGVybWlzc2lvbnMiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJv
cGVydHkgInBlcm1pc3Npb25zIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitQQVNTIFBl
cm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbGVu
Z3RoCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBl
cm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
ICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
IEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBzdGF0ZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmli
dXRlIG9uY2hhbmdlCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgbXVzdCBiZSBwcmltYXJ5IGludGVy
ZmFjZSBvZiBwZXJtaXNzaW9uU3RhdHVzCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBwZXJtaXNz
aW9uU3RhdHVzCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3Rh
dHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RhdGUiIHdpdGggdGhlIHByb3BlciB0eXBlCitQ
QVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAib25jaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlCitQQVNTIFBlcm1p
c3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBv
YmplY3QKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUGVy
bWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFT
UyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUGVy
bWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2JqZWN0KQorUEFTUyBQZXJtaXNz
aW9ucyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmlnYXRvci5wZXJtaXNzaW9ucwor
UEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zCitQQVNTIFBlcm1p
c3Npb25zIGludGVyZmFjZTogbmF2aWdhdG9yLnBlcm1pc3Npb25zIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAicXVlcnkob2JqZWN0KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKK1BBU1MgUGVybWlzc2lv
bnMgaW50ZXJmYWNlOiBjYWxsaW5nIHF1ZXJ5KG9iamVjdCkgb24gbmF2aWdhdG9yLnBlcm1pc3Np
b25zIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IKK1BBU1MgTmF2
aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIHBlcm1pc3Npb25zCitQQVNTIE5hdmlnYXRvciBp
bnRlcmZhY2U6IG5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgInBlcm1pc3Npb25zIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggNTI1
NjAyZDE2ZDdmMGY1NGNhOGVmMDNmN2ZjZjViNGVlZWYzMTY5Ny4uMDYyYjI5NTdmMzE1NTFiMzUy
YTQ5NTQxNmMzZjRhYmZhNTc5OWU2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAt
MTksMjUgKzE5LDI1IEBAIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvcklE
OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMg
TmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5h
dmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JPbkxpbmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVl
CiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JDb25jdXJyZW50SGFyZHdh
cmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRf
b3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9u
U3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJ
TCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMi
IGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1p
c3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVk
IHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0
dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25T
dGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1
Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Np
b25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5z
Y29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1p
c3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBzdGF0ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lv
blN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmli
dXRlIG9uY2hhbmdlIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9u
U3RhdHVzIiBtaXNzaW5nCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9uU3Rh
dHVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJm
YWNlIG9iamVjdCBuYW1lCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZQorUEFTUyBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlCiBGQUlMIFBlcm1pc3Npb25TdGF0
dXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9l
cXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0
ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFi
bGU6IHBlcm1pc3Npb25TdGF0dXMiCiBGQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBwZXJtaXNzaW9u
U3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGlu
ZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCiBGQUlMIFBlcm1pc3Npb25TdGF0
dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3Rh
dGUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0
aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAi
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCiBG
QUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAib25jaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVh
bHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQg
bnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ug
b2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBt
aXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIg
ZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25z
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3Np
bmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1p
c3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVy
bWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBl
Y3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50
ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2JqZWN0KSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVy
dHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUGVybWlzc2lv
bnMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9i
amVjdCBuYW1lCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Npb25zIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBv
cGVyYXRpb24gcXVlcnkob2JqZWN0KQogRkFJTCBQZXJtaXNzaW9ucyBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIG5hdmlnYXRvci5wZXJtaXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0
eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKIEZBSUwg
U3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5wZXJtaXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3
cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIK
IEZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJxdWVyeShvYmplY3QpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3Nl
cnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3Qg
InVuZGVmaW5lZCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMt
cGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXggYzNlODYwNWY4NzI4N2E4MDM4MWY1ZGI4MDZj
ZGQwNWEyNTU2NWRkZS4uYzJmZDY1ZThkNDAwMmE3MjMwMTg3YTYxZjUxYzI4MmVmYzFjNmJlYyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lv
bi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCBXZWIgTkZDIFBlcm1p
c3Npb24uIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3Iu
cGVybWlzc2lvbnMucXVlcnknKQorUEFTUyBUZXN0IFdlYiBORkMgUGVybWlzc2lvbi4KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJt
aXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMu
c3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmli
dXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQKaW5kZXggZTQyZGRhMjYxMmYyNTdiN2YwMmJiZWVm
NjU2MzNiMjViNzM2NDdhNS4uYzRiYTI0OTJlOTkxOTlkNjY2MDVhOGMwMWFhMDE1MWI5NjI0NjA3
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUu
aHR0cHMuc3ViLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9s
aWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCi1G
QUlMIFBlcm1pc3Npb25zLnN0YXRlIGlzICJwcm9tcHQiIHdpdGggYWxsb3c9Imdlb2xvY2F0aW9u
IiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVybWlz
c2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgKHN0cmluZykgInByb21wdCIgYnV0
IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIFBlcm1pc3Npb25zLnN0YXRlIGlzICJwcm9tcHQiIHdp
dGggYWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBjcm9zcy1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2Vx
dWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVk
IChzdHJpbmcpICJwcm9tcHQiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAotRkFJTCBQZXJtaXNzaW9u
LnN0YXRlIGlzICJwcm9tcHQiIGluIHNhbWUtb3JpZ2luIGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6
IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9jYXRpb24iKSBleHBlY3RlZCAoc3Ry
aW5nKSAicHJvbXB0IiBidXQgZ290IChvYmplY3QpIG51bGwKLUZBSUwgUGVybWlzc2lvbi5zdGF0
ZSBpcyAiZGVuaWVkIiBpbiBjcm9zcy1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2
aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcp
ICJkZW5pZWQiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAorUEFTUyBQZXJtaXNzaW9ucy5zdGF0ZSBp
cyAicHJvbXB0IiB3aXRoIGFsbG93PSJnZW9sb2NhdGlvbiIgaW4gc2FtZS1vcmlnaW4gaWZyYW1l
cy4KK1BBU1MgUGVybWlzc2lvbnMuc3RhdGUgaXMgInByb21wdCIgd2l0aCBhbGxvdz0iZ2VvbG9j
YXRpb24iIGluIGNyb3NzLW9yaWdpbiBpZnJhbWVzLgorUEFTUyBQZXJtaXNzaW9uLnN0YXRlIGlz
ICJwcm9tcHQiIGluIHNhbWUtb3JpZ2luIGlmcmFtZXMuCitGQUlMIFBlcm1pc3Npb24uc3RhdGUg
aXMgImRlbmllZCIgaW4gY3Jvc3Mtb3JpZ2luIGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmln
YXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9jYXRpb24iKSBleHBlY3RlZCAiZGVuaWVkIiBi
dXQgZ290ICJwcm9tcHQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNzdGF0dXMtbmFtZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bl
cm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0CmluZGV4IDExZmIx
YTBkNjEyNGRhOTRlMDAxZTdkZDkyM2UwMTdjZTY5ZTc4YmEuLjBlNGViY2M0N2NjYjkzODkwOGVj
ZTg0Y2M2OGYxNTNkMDg1Mzc5YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNzdGF0dXMtbmFtZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dApAQCAt
MSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IFBlcm1pc3Npb25TdGF0dXMncyBuYW1lIGF0dHJpYnV0
ZS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdh
dG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykiCitQQVNTIFRlc3QgUGVybWlzc2lvblN0YXR1cydzIG5h
bWUgYXR0cmlidXRlLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5k
ZXggODVjN2JiYTVjMmIyNDU5M2Y1MWUyMTQ2YmUyNWJkMTZmYTA1ZmY1OC4uOGUwZTcwMmQxZjJk
ZDQ4Y2E2OTk5Y2E1ZmI5NGU1MTJhNjQ1YmU5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2Nr
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9u
LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0ICJzY3JlZW4td2FrZS1s
b2NrIiBQZXJtaXNzaW9uLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFs
dWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKSIKK1BBU1MgVGVzdCAic2NyZWVu
LXdha2UtbG9jayIgUGVybWlzc2lvbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0
Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1mZXRjaC1wZXJtaXNz
aW9uLWV4cGVjdGVkLnR4dAppbmRleCA5YTk0MjY5ZmI3NDM4ZmM2M2JlMThkMDBjZDI5OTdjYzU5
YmE4ZGQ2Li43ODViYjU4NWY1MTU5NWZkZWEwNTIzNDE2NzIzODEzYzhkYjIzMTU5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Np
b25zL3Rlc3QtYmFja2dyb3VuZC1mZXRjaC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rl
c3QtYmFja2dyb3VuZC1mZXRjaC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMg
QEAKIAotRkFJTCBUZXN0IEJhY2tncm91bmQgRmV0Y2ggUGVybWlzc2lvbi4gdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeScp
CitQQVNTIFRlc3QgQmFja2dyb3VuZCBGZXRjaCBQZXJtaXNzaW9uLgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rl
c3QtcGVyaW9kaWMtYmFja2dyb3VuZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0
LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAppbmRleCAz
MTZkMzUxYTBlMDc1NGIxZTUwOWJmM2NhMGFkYTRiNjRkZTM1NmE3Li40ZTlmMzdhODc1NmViMTdh
MmZiODRmMTE3MDJhMTQzYTg2YjcwOTliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dy
b3VuZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNr
Z3JvdW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZB
SUwgVGVzdCBQZXJpb2RpYyBCYWNrZ3JvdW5kIFN5bmMgUGVybWlzc2lvbi4gcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25z
LnF1ZXJ5JykiCitGQUlMIFRlc3QgUGVyaW9kaWMgQmFja2dyb3VuZCBTeW5jIFBlcm1pc3Npb24u
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogVHlwZSBlcnJvciIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNo
ZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IGRmOTAxMDkwNGQ1NzdlODVhMDc2NjY3YTkz
N2FkNzdlNmQ4ZjU5NTcuLmM2OGQzY2EwYjMwY2RjZWU3ZGUxZWI3YmU0MTM2OWEwYmVkYjgzYmEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdh
dG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3Rl
ZC50eHQKQEAgLTE4LDYgKzE4LDcgQEAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGlzIE9L
CiBuYXZpZ2F0b3IubWVkaWFTZXNzaW9uIGlzIE9LCiBuYXZpZ2F0b3IubWltZVR5cGVzIGlzIE9L
CiBuYXZpZ2F0b3Iub25MaW5lIGlzIE9LCituYXZpZ2F0b3IucGVybWlzc2lvbnMgaXMgT0sKIG5h
dmlnYXRvci5wbGF0Zm9ybSBpcyBPSwogbmF2aWdhdG9yLnBsdWdpbnMgaXMgT0sKIG5hdmlnYXRv
ci5wcm9kdWN0IGlzIE9LCkBAIC01MSw2ICs1Miw3IEBAIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcyBpcyBPSwogbmF2aWdhdG9yLm1lZGlhU2Vzc2lvbiBpcyBPSwogbmF2aWdhdG9yLm1pbWVU
eXBlcyBpcyBPSwogbmF2aWdhdG9yLm9uTGluZSBpcyBPSworbmF2aWdhdG9yLnBlcm1pc3Npb25z
IGlzIE9LCiBuYXZpZ2F0b3IucGxhdGZvcm0gaXMgT0sKIG5hdmlnYXRvci5wbHVnaW5zIGlzIE9L
CiBuYXZpZ2F0b3IucHJvZHVjdCBpcyBPSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA2Y2VlMGZhMmQ0ZDVkZmY2YjlkNjE4MjdlZWUzZTkxNGQ5NzliOTQ1
Li40MDhjOGI0MWJjNDNjYTFiMzNmMDY0NzkxMGEyYmE1YzY2MzM2ZGJlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODYwLDQgKzg2MCw1IEBAIGZhc3Qv
c3BlZWNocmVjb2duaXRpb24vcGVybWlzc2lvbi1lcnJvci5odG1sIFsgUGFzcyBdCiBmYXN0L3Nw
ZWVjaHJlY29nbml0aW9uL3N0YXJ0LXJlY29nbml0aW9uLXRoZW4tc3RvcC5odG1sIFsgUGFzcyBd
CiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXNlY29uZC1yZWNvZ25pdGlvbi5odG1sIFsg
UGFzcyBdCiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWVudGVyLXdoaWxlLWV4aXRpbmcuaHRtbCBb
IFBhc3MgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy8gWyBQ
YXNzIF0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436558</attachid>
            <date>2021-08-26 13:26:14 -0700</date>
            <delta_ts>2021-08-26 14:40:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210826132613.patch</filename>
            <type>text/plain</type>
            <size>122919</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLjAwYTQ0NjI0ZDI5YWZhNmM4YmNjZTcxM2MyZWU4N2U5Zjc5NTk4
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIxLTA4LTI1
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92
ZSBzb21lIGlPUy1zcGVjaWZpYyBjb21waWxlLXRpbWUgZ3VhcmRzIHRoYXQgYXJlIG5vIGxvbmdl
ciBuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYTkzNTJkZDhlZjlkY2Q5NWZiZDY3MTJiNTRlYjRlZWZm
ZWQyNWMyLi5kODI4YTAwNWQ2NDhiMDgxOWJhMGI5OTdiY2FhMGY1N2I5MjkyNzVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNjkgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiaW5kaW5ncyBj
b2RlIGFuZCBhIGZlYXR1cmUgZmxhZyBmb3IgUGVybWlzc2lvbnMgQVBJLgorICAgICAgICBTcGVj
OiBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLiBSZWJhc2VsaW5lIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9kdWxlcy9w
ZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAg
ICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6b3BlcmF0b3I9
PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yOjpkZWNvZGUp
OgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmg6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZl
ci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OlBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6flBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6c3RhdGVDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUg
Y29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uczo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpQZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJtaXNzaW9uczo6bmF2aWdhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25z
OjpxdWVyeSk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbDogQWRk
ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIGRv
bS9UYXNrU291cmNlLmg6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMpOgorICAgICAg
ICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX3Blcm1pc3Npb25Db250cm9s
bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnBlcm1pc3Npb25Db250cm9sbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Om1faHR0cHNVcGdyYWRlRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
ICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24pOgor
ICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKKwogMjAyMS0wOC0yNSAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGlu
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggNDI0MWIyZTZmYTc4NTRmMTVmZDMzYzZjYTljN2ZlYjM3YmMxZGIyMS4uMDM2Yzkz
YjFjMmI5YzE0NzkwZTI1OTVmM2IyOGVmZWVlODRmNGMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MyBAQAorMjAyMS0wOC0yNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2V0IHVwIGJhc2ljIGluZnJhc3RyY3R1cmUgb2Yg
cGVybWlzc2lvbiBnZXR0aW5nIGFuZCBzZXR0aW5nLgorCisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBl
cm1pc3Npb25Db250cm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRy
b2xsZXI6OnF1ZXJ5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6
OnJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVl
cnlDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRh
dGVDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQ
cm9jZXNzaW5nUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjphZGRPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjpyZW1vdmVPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250
cm9sbGVyOjpwZXJtaXNzaW9uQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fYXBwSGlnaGxp
Z2h0c1Zpc2libGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFjLmg6CisKIDIwMjEtMDgtMjYgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25v
cmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW2N1cmxdIFJFR1JFU1NJT04ocjI4MTE1OCk6
IGZldGNoKCdodHRwOi8vbG9jYWxob3N0LycpIGZyb20gYWJvdXQ6YmxhbmsgZG9lc24ndCBlbWl0
IHRoZSBjb25zb2xlIGVycm9yIG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRl
eCA0NWE1NDg2ZTA1ODA1ZDk3YmMxZTQ4YjQ0ZjkzZGEzMDMyOGE2YTFkLi5mZjc3YjQ5NWE4MmVj
OTI4MzQ5MTU4NGQ2MWFkZDJkZjA5NDg5NzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5h
bWU6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IGluaXRTaW1wbGVIVE1MRG9jdW1l
bnRXaXRoU3R5bGU6ZnJhbWU6cHJlZmVyZW5jZXM6Z3JvdXBOYW1lOl0pOgorCiAyMDIxLTA4LTI0
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gSW1wbGVt
ZW50IHByb2Nlc3Mtc3dhcHBpbmcgYmFzZWQgb24gQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xpY3kg
SFRUUCBoZWFkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9X
ZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZl
cmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXggMTg1YTVhYzBmNDU0
Yzc2YzAzNDc5MmFkMTg1NzYxZmNjYTY5NDk5MS4uNTU1NDYwMGRiYzY2NThmYTFjYWIyZDA1OGNk
NTM1ZGFmNTI5MzFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2Vz
L1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKQEAgLTg4MSw2ICs4
ODEsMTggQEAgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ1NlbnNpdGl2ZVByb3BlcnRpZXNFbmFi
bGVkOgogICAgIFdlYkNvcmU6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogCitQZXJtaXNzaW9uc0FQ
SUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJQZXJtaXNzaW9u
cyBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQZXJtaXNzaW9ucyBB
UEkiCisgIGRlZmF1bHRWYWx1ZToKKyAgICBXZWJLaXRMZWdhY3k6CisgICAgICBkZWZhdWx0OiBm
YWxzZQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViQ29yZToKKyAg
ICAgIGRlZmF1bHQ6IGZhbHNlCisKIFByaXZhdGVDbGlja01lYXN1cmVtZW50RGVidWdNb2RlRW5h
YmxlZDoKICAgdHlwZTogYm9vbAogICBodW1hblJlYWRhYmxlTmFtZTogIlByaXZhdGUgQ2xpY2sg
TWVhc3VyZW1lbnQgRGVidWcgTW9kZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYmJiODQyYTUz
OWExMDg3YzllMWRiNDYzZDAxOWRkMmIxMjMxNDJjOS4uMDdlNWUwNTU4ZjZkZGQ0MTFlYzRjZjU5
NmRlMzQzZjQ4M2MwOTc3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ4LDYgKzQ4LDcgQEAg
c2V0KFdlYkNvcmVfUFJJVkFURV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9E
SVJ9L01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzIgogICAgICIke1dFQkNPUkVfRElSfS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QiCisgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGVybWlzc2lvbnMiCiAgICAg
IiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGljdHVyZWlucGljdHVyZSIKICAgICAiJHtXRUJDT1JF
X0RJUn0vTW9kdWxlcy9wbHVnaW5zIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3JlbW90
ZXBsYXliYWNrIgpAQCAtMjAxLDYgKzIwMiw3IEBAIHNldChXZWJDb3JlX0lETF9JTkNMVURFUwog
ICAgIE1vZHVsZXMvbW9kZWwtZWxlbWVudAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucwogICAg
IE1vZHVsZXMvcGF5bWVudHJlcXVlc3QKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zCiAgICAgTW9k
dWxlcy9zcGVlY2gKICAgICBNb2R1bGVzL3N0cmVhbXMKICAgICBNb2R1bGVzL3dlYmF1ZGlvCkBA
IC00NjAsNiArNDYyLDEzIEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdUeXBlLmlkbAogICAgIE1vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFZhbGlkYXRpb25FcnJvcnMuaWRsCiAKKyAgICBNb2R1bGVz
L3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwKKyAgICBNb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbk5hbWUuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3Rh
dGUuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbAorICAg
IE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCisKICAgICBNb2R1bGVzL3BpY3R1
cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGljdHVyZUluUGljdHVyZS5pZGwKICAgICBNb2R1bGVzL3Bp
Y3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGljdHVyZUluUGljdHVyZS5pZGwK
ICAgICBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQu
aWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApp
bmRleCAzOWIyYjMwMDRlNGM1Nzk0MzdlNjVhY2E5NzMyN2M3OGQ0ZDc0NWRlLi41MTFiNTEzMTIw
MGFiZWM4M2JlNDkwN2E3YmU0MTkyM2E2MmYzNjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTM4OCw2ICszODgsMTIgQEAgJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ09wdGlvbi5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5n
VHlwZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFZh
bGlkYXRpb25FcnJvcnMuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL05h
dmlnYXRvcitQZXJtaXNzaW9ucy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25zLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9waWN0dXJlaW5waWN0
dXJlL0RvY3VtZW50K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGljdHVyZUluUGljdHVyZS5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9FbnRlclBpY3R1cmVJ
blBpY3R1cmVFdmVudC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3QKaW5kZXggMTk2NzFmNzUwNmQ2YTc5Mzc0YzVlYTQ1YWM3NzFmYzdmMWI3
OTUyYi4uOWI0ODRhYmE0OGMyYzVjZmM2MGFjZWVlYzI5M2ViY2E5YzM5NzFlYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTEzNzcs
NiArMTM3Nyw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTmF2aWdhdG9yK01lZGlhRGV2aWNlcy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhRGV2aWNlcy5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitNZWRpYVNlc3Np
b24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05h
dmlnYXRvcitNZWRpYVNlc3Npb24uaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrUGVybWlzc2lvbnMuY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitQZXJtaXNzaW9ucy5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitX
ZWJEcml2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU05hdmlnYXRvcitXZWJEcml2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViWFIuY3BwCkBAIC0xNTgzLDYgKzE1ODUsMTYg
QEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2Rp
Y1dhdmVDb25zdHJhaW50cy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2RpY1dhdmVPcHRpb25zLmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2RpY1dhdmVP
cHRpb25zLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UGVybWlzc2lvbkRlc2NyaXB0b3IuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbk5hbWUuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25OYW1lLmgK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lv
blN0YXRlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNQZXJtaXNzaW9uU3RhdGUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdHVzLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdHVzLmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbnMuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25zLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGljdHVyZUluUGlj
dHVyZVdpbmRvdy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUGljdHVyZUluUGljdHVyZVdpbmRvdy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BsYXliYWNrRGlyZWN0aW9uLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKaW5kZXggZDY0ZTY1ZTg2ZTVlMTE0MjY2N2E5ZTM4Mjc2ODNhOTY5MmYy
N2FmMS4uZjllZTY0MjhiYTBhNTRkNTRjMDI1N2FhNmQ2YTAwMDFlMmU0MjFiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zMjQsNiArMzI0LDEyIEBAIEpTX0JJTkRJTkdfSURM
UyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlw
cGluZ09wdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50U2hpcHBpbmdUeXBlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwgXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50T3JTaGFkb3dSb290K1Bp
Y3R1cmVJblBpY3R1cmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlucGlj
dHVyZS9Eb2N1bWVudCtQaWN0dXJlSW5QaWN0dXJlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuaWRsIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9I
ZWFkZXJzLmNtYWtlCmluZGV4IGViMDdiODBjOTkzM2Q2OWE4YzM2MzE5MThjNzVkYmU0ZTM3YTky
YjguLjg4MjQ3ZTQ0Y2I1Zjg3OWZkYjMzZDM3YTcwMzkyZmUyNTU3ODkzNzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQpAQCAtMTI5LDYgKzEyOSwxMCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09S
S19IRUFERVJTCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Np
b24uaAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaAogCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uQ29udHJvbGxlci5o
CisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oCisgICAgTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uT2JzZXJ2ZXIuaAorCiAgICAgTW9kdWxlcy9wbHVn
aW5zL1BsdWdpblJlcGxhY2VtZW50LmgKICAgICBNb2R1bGVzL3BsdWdpbnMvWW91VHViZVBsdWdp
blJlcGxhY2VtZW50LmgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwYjEy
N2U3ZjNhMWM1NjY2Y2QwZDBjODhmZTkxMWU5NmM4MzRmNjUKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5p
ZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5p
by9wZXJtaXNzaW9ucy8jbmF2aWdhdG9yLWFuZC13b3JrZXJuYXZpZ2F0b3ItZXh0ZW5zaW9uCisK
K1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorICAgIEltcGxlbWVudGVk
Qnk9TmF2aWdhdG9yUGVybWlzc2lvbnMKK10gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsK
KyAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFBlcm1pc3Npb25zIHBlcm1pc3Np
b25zOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMv
TmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkxZjU1NTg4NmQ4ZTcx
YTM0OWVlNzViZjNjNDE2ZjAyZjFjNDdhYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwCkBAIC0wLDAg
KzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF2
aWdhdG9yUGVybWlzc2lvbnMuaCIKKworI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1ZGUg
IlBlcm1pc3Npb25zLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTmF2aWdhdG9yUGVybWlz
c2lvbnM6Ok5hdmlnYXRvclBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9yKQorICAgIDog
bV9uYXZpZ2F0b3IobmF2aWdhdG9yKQoreworfQorCitSZWZQdHI8UGVybWlzc2lvbnM+IE5hdmln
YXRvclBlcm1pc3Npb25zOjpwZXJtaXNzaW9ucyhOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAg
ICByZXR1cm4gTmF2aWdhdG9yUGVybWlzc2lvbnM6OmZyb20obmF2aWdhdG9yKS0+cGVybWlzc2lv
bnMoKTsKK30KKworUmVmUHRyPFBlcm1pc3Npb25zPiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6cGVy
bWlzc2lvbnMoKQoreworICAgIGlmICghbV9wZXJtaXNzaW9ucykKKyAgICAgICAgbV9wZXJtaXNz
aW9ucyA9IFBlcm1pc3Npb25zOjpjcmVhdGUobV9uYXZpZ2F0b3IpOworCisgICAgcmV0dXJuIG1f
cGVybWlzc2lvbnM7Cit9CisKK05hdmlnYXRvclBlcm1pc3Npb25zKiBOYXZpZ2F0b3JQZXJtaXNz
aW9uczo6ZnJvbShOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICBhdXRvKiBzdXBwbGVtZW50
ID0gc3RhdGljX2Nhc3Q8TmF2aWdhdG9yUGVybWlzc2lvbnMqPihTdXBwbGVtZW50PE5hdmlnYXRv
cj46OmZyb20oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSkpOworICAgIGlmICghc3VwcGxl
bWVudCkgeworICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVlPE5hdmlnYXRv
clBlcm1pc3Npb25zPihuYXZpZ2F0b3IpOworICAgICAgICBzdXBwbGVtZW50ID0gbmV3U3VwcGxl
bWVudC5nZXQoKTsKKyAgICAgICAgcHJvdmlkZVRvKCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnROYW1l
KCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOworICAgIH0KKworICAgIHJldHVybiBzdXBwbGVt
ZW50OworfQorCitjb25zdCBjaGFyKiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6c3VwcGxlbWVudE5h
bWUoKQoreworICAgIHJldHVybiAiTmF2aWdhdG9yUGVybWlzc2lvbnMiOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBhNzM5ZGE3MTQ0
MGM3YTMzYjIzMmNhZTk4MzUyMDE5ZmRhNDQ0YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaApAQCAtMCww
ICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJTdXBwbGVt
ZW50YWJsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmlnYXRvcjsKK2Ns
YXNzIFBlcm1pc3Npb25zOworCitjbGFzcyBOYXZpZ2F0b3JQZXJtaXNzaW9ucyBmaW5hbCA6IHB1
YmxpYyBTdXBwbGVtZW50PE5hdmlnYXRvcj4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworcHVibGljOgorICAgIGV4cGxpY2l0IE5hdmlnYXRvclBlcm1pc3Npb25zKE5hdmlnYXRvciYp
OworCisgICAgc3RhdGljIFJlZlB0cjxQZXJtaXNzaW9ucz4gcGVybWlzc2lvbnMoTmF2aWdhdG9y
Jik7CisgICAgUmVmUHRyPFBlcm1pc3Npb25zPiBwZXJtaXNzaW9ucygpOworCitwcml2YXRlOgor
ICAgIHN0YXRpYyBOYXZpZ2F0b3JQZXJtaXNzaW9ucyogZnJvbShOYXZpZ2F0b3ImKTsKKyAgICBz
dGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKKworICAgIFJlZlB0cjxQZXJtaXNz
aW9ucz4gbV9wZXJtaXNzaW9uczsKKyAgICBOYXZpZ2F0b3ImIG1fbmF2aWdhdG9yOworfTsKKwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uQ29udHJvbGxlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4MmUxM2I4MWI1ZWQ0NWI1ZDRlMjMxNzA3
OWEzMzk2M2I0ZmYzZDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgKQEAgLTAsMCArMSw1NCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVybWlzc2lvbk9ic2VydmVyLmgi
CisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXRlLmgiCisjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25I
YW5kbGVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVybWlzc2lvbk9ic2Vy
dmVyOworc3RydWN0IFBlcm1pc3Npb25EZXNjcmlwdG9yOworCitjbGFzcyBQZXJtaXNzaW9uQ29u
dHJvbGxlciA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIHZpcnR1YWwgflBlcm1p
c3Npb25Db250cm9sbGVyKCkgPSBkZWZhdWx0OworICAgIHZpcnR1YWwgUGVybWlzc2lvblN0YXRl
IHF1ZXJ5KENsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHJlcXVlc3QoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlwdG9y
JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUGVybWlzc2lvblN0YXRlKT4mJikgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBhZGRPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHJlbW92ZU9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpID0gMDsKK307
CisKK2NsYXNzIER1bW15UGVybWlzc2lvbkNvbnRyb2xsZXIgOiBwdWJsaWMgUGVybWlzc2lvbkNv
bnRyb2xsZXIgeworICAgIFBlcm1pc3Npb25TdGF0ZSBxdWVyeShDbGllbnRPcmlnaW4mJiwgUGVy
bWlzc2lvbkRlc2NyaXB0b3ImJikgZmluYWwgeyByZXR1cm4gUGVybWlzc2lvblN0YXRlOjpEZW5p
ZWQ7IH0KKyAgICB2b2lkIHJlcXVlc3QoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlw
dG9yJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUGVybWlzc2lvblN0YXRlKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikgZmluYWwgeyBjb21wbGV0aW9uSGFuZGxlcihQZXJtaXNzaW9uU3RhdGU6OkRl
bmllZCk7IH0KKyAgICB2b2lkIGFkZE9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpIGZpbmFs
IHsgfQorICAgIHZvaWQgcmVtb3ZlT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgZmluYWwg
eyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNGU4NGIyZDRjNzdhOThlOTViNjY0OThkYzRkMGIzOGE5MDg5ZTFlNQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRl
c2NyaXB0b3IuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlICJQZXJtaXNzaW9uTmFtZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0
cnVjdCBQZXJtaXNzaW9uRGVzY3JpcHRvciB7CisgICAgUGVybWlzc2lvbk5hbWUgbmFtZTsKKwor
ICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRv
cikgY29uc3QgeyByZXR1cm4gbmFtZSA9PSBkZXNjcmlwdG9yLm5hbWU7IH0KKyAgICB0ZW1wbGF0
ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxh
dGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8UGVybWlzc2lvbkRlc2NyaXB0
b3I+IGRlY29kZShEZWNvZGVyJik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiBpbmxp
bmUgdm9pZCBQZXJtaXNzaW9uRGVzY3JpcHRvcjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNv
bnN0Cit7CisgICAgZW5jb2RlciA8PCBuYW1lOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVy
PiBzdGQ6Om9wdGlvbmFsPFBlcm1pc3Npb25EZXNjcmlwdG9yPiBQZXJtaXNzaW9uRGVzY3JpcHRv
cjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAgUGVybWlzc2lvbkRlc2NyaXB0b3Ig
cmVzdWx0OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm5hbWUpKQorICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZjM2YTMyYTJj
Y2NkMzM5OTM5YjdkZTgzNWRmZWRiYmY0ZjU3Y2M4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwKQEAg
LTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJt
aXNzaW9ucy8jZGljdGRlZi1wZXJtaXNzaW9uZGVzY3JpcHRvcgorCitbCisgICAgRW5hYmxlZEJ5
U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKK10gZGljdGlvbmFyeSBQZXJtaXNzaW9uRGVzY3JpcHRv
ciB7CisgICAgcmVxdWlyZWQgUGVybWlzc2lvbk5hbWUgbmFtZTsKK307CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNWM5OTMxZmQ4NDM4ZDM0MzAxNmYxMWQyZWU0YzU3MzkzZGFkOGUxMAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUu
aApAQCAtMCwwICsxLDc5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBQZXJtaXNzaW9uTmFtZSA6IHVpbnQ4X3QgeworICAg
IEFjY2VsZXJvbWV0ZXIsCisgICAgQW1iaWVudExpZ2h0U2Vuc29yLAorICAgIEJhY2tncm91bmRG
ZXRjaCwKKyAgICBCYWNrZ3JvdW5kU3luYywKKyAgICBCbHVldG9vdGgsCisgICAgQ2FtZXJhLAor
ICAgIERpc3BsYXlDYXB0dXJlLAorICAgIEdlb2xvY2F0aW9uLAorICAgIEd5cm9zY29wZSwKKyAg
ICBNYWduZXRvbWV0ZXIsCisgICAgTWljcm9waG9uZSwKKyAgICBNaWRpLAorICAgIE5mYywKKyAg
ICBOb3RpZmljYXRpb25zLAorICAgIFBlcnNpc3RlbnRTdG9yYWdlLAorICAgIFB1c2gsCisgICAg
U2NyZWVuV2FrZUxvY2ssCisgICAgU3BlYWtlclNlbGVjdGlvbgorfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRy
YWl0czxXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1W
YWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lLAorICAgICAgICBXZWJDb3Jl
OjpQZXJtaXNzaW9uTmFtZTo6QWNjZWxlcm9tZXRlciwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlz
c2lvbk5hbWU6OkFtYmllbnRMaWdodFNlbnNvciwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lv
bk5hbWU6OkJhY2tncm91bmRGZXRjaCwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6
OkJhY2tncm91bmRTeW5jLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6Qmx1ZXRv
b3RoLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6Q2FtZXJhLAorICAgICAgICBX
ZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6RGlzcGxheUNhcHR1cmUsCisgICAgICAgIFdlYkNvcmU6
OlBlcm1pc3Npb25OYW1lOjpHZW9sb2NhdGlvbiwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lv
bk5hbWU6Okd5cm9zY29wZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok1hZ25l
dG9tZXRlciwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok1pY3JvcGhvbmUsCisg
ICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpNaWRpLAorICAgICAgICBXZWJDb3JlOjpQ
ZXJtaXNzaW9uTmFtZTo6TmZjLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6Tm90
aWZpY2F0aW9ucywKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6OlBlcnNpc3RlbnRT
dG9yYWdlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6UHVzaCwKKyAgICAgICAg
V2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6OlNjcmVlbldha2VMb2NrLAorICAgICAgICBXZWJDb3Jl
OjpQZXJtaXNzaW9uTmFtZTo6U3BlYWtlclNlbGVjdGlvbgorICAgID47Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbk5hbWUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uTmFtZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDNhY2RmMjhjNjQyMTEwZWI2MTBmZTll
OTg3YjZiZTY3ZGRkYTYyMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRsCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1kZWYtcGVy
bWlzc2lvbm5hbWUKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCitd
IGVudW0gUGVybWlzc2lvbk5hbWUgeworICAgICJhY2NlbGVyb21ldGVyIiwKKyAgICAiYW1iaWVu
dC1saWdodC1zZW5zb3IiLAorICAgICJiYWNrZ3JvdW5kLWZldGNoIiwKKyAgICAiYmFja2dyb3Vu
ZC1zeW5jIiwKKyAgICAiYmx1ZXRvb3RoIiwKKyAgICAiY2FtZXJhIiwKKyAgICAiZGlzcGxheS1j
YXB0dXJlIiwKKyAgICAiZ2VvbG9jYXRpb24iLAorICAgICJneXJvc2NvcGUiLAorICAgICJtYWdu
ZXRvbWV0ZXIiLAorICAgICJtaWNyb3Bob25lIiwKKyAgICAibWlkaSIsCisgICAgIm5mYyIsCisg
ICAgIm5vdGlmaWNhdGlvbnMiLAorICAgICJwZXJzaXN0ZW50LXN0b3JhZ2UiLAorICAgICJwdXNo
IiwKKyAgICAic2NyZWVuLXdha2UtbG9jayIsCisgICAgInNwZWFrZXItc2VsZWN0aW9uIgorfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bk9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Np
b25PYnNlcnZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxN2E0MWE5YjNjODlmYTJiOGUyYmY5ZGNhZTljNmJj
NjRlNmZmNmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25PYnNlcnZlci5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkNsaWVudE9yaWdpbi5oIgorI2luY2x1ZGUgIlBl
cm1pc3Npb25TdGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBQZXJtaXNz
aW9uRGVzY3JpcHRvcjsKKworY2xhc3MgUGVybWlzc2lvbk9ic2VydmVyIDogcHVibGljIENhbk1h
a2VXZWFrUHRyPFBlcm1pc3Npb25PYnNlcnZlcj4geworcHVibGljOgorICAgIHZpcnR1YWwgflBl
cm1pc3Npb25PYnNlcnZlcigpID0gZGVmYXVsdDsKKworICAgIHZpcnR1YWwgdm9pZCBzdGF0ZUNo
YW5nZWQoUGVybWlzc2lvblN0YXRlKSA9IDA7CisgICAgdmlydHVhbCBjb25zdCBDbGllbnRPcmln
aW4mIG9yaWdpbigpID0gMDsKKyAgICB2aXJ0dWFsIGNvbnN0IFBlcm1pc3Npb25EZXNjcmlwdG9y
JiBkZXNjcmlwdG9yKCkgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZWNhZGY1MjAxZTBjMzdiMzBmNGI3MmVhMDgwNDA4NTg0Yjg4ODQ4NAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvblN0YXRlLmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitl
bnVtIGNsYXNzIFBlcm1pc3Npb25TdGF0ZSA6IHVpbnQ4X3QgeworICAgIEdyYW50ZWQsCisgICAg
RGVuaWVkLAorICAgIFByb21wdAorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1l
c3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpQZXJt
aXNzaW9uU3RhdGU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBX
ZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0
ZTo6R3JhbnRlZCwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpEZW5pZWQsCisg
ICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0CisgICAgPjsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1Nzc5NzgxMmQxOTg2OWVm
M2U1MWEyZGI5ZWE4YTdhZjE2OGFjOWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwKQEAgLTAsMCArMSwzNCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jZW51
bWRlZi1wZXJtaXNzaW9uc3RhdGUKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lv
bnNBUEksCitdIGVudW0gUGVybWlzc2lvblN0YXRlIHsKKyAgICAiZ3JhbnRlZCIsCisgICAgImRl
bmllZCIsCisgICAgInByb21wdCIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xODNiMzQx
NjljM2U0OGVlZGU2NDQ3Zjg2ZDg2OTg3MjE4M2MwM2Q5Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcApAQCAt
MCwwICsxLDgwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IlBlcm1pc3Npb25TdGF0dXMuaCIKKworI2luY2x1ZGUgIkNsaWVudE9yaWdpbi5oIgorI2luY2x1
ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUGVybWlzc2lv
bkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChQZXJtaXNzaW9u
U3RhdHVzKTsKKworUmVmPFBlcm1pc3Npb25TdGF0dXM+IFBlcm1pc3Npb25TdGF0dXM6OmNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBQZXJtaXNzaW9uU3RhdGUgc3RhdGUs
IFBlcm1pc3Npb25EZXNjcmlwdG9yIGRlc2NyaXB0b3IpCit7CisgICAgYXV0byBzdGF0dXMgPSBh
ZG9wdFJlZigqbmV3IFBlcm1pc3Npb25TdGF0dXMoY29udGV4dCwgc3RhdGUsIGRlc2NyaXB0b3Ip
KTsKKyAgICBzdGF0dXMtPnN1c3BlbmRJZk5lZWRlZCgpOworICAgIHJldHVybiBzdGF0dXM7Cit9
CisKK1Blcm1pc3Npb25TdGF0dXM6OlBlcm1pc3Npb25TdGF0dXMoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCwgUGVybWlzc2lvblN0YXRlIHN0YXRlLCBQZXJtaXNzaW9uRGVzY3JpcHRv
ciBkZXNjcmlwdG9yKQorICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwgbV9z
dGF0ZShzdGF0ZSkKKyAgICAsIG1fZGVzY3JpcHRvcihkZXNjcmlwdG9yKQoreworICAgIGlmIChp
czxEb2N1bWVudD4oY29udGV4dCkpIHsKKyAgICAgICAgaWYgKGF1dG8gcGFnZSA9IGRvd25jYXN0
PERvY3VtZW50Pigqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS5wYWdlKCkpIHsKKyAgICAgICAg
ICAgIG1fY29udHJvbGxlciA9IG1ha2VXZWFrUHRyKHBhZ2UtPnBlcm1pc3Npb25Db250cm9sbGVy
KCkpOworICAgICAgICAgICAgbV9jb250cm9sbGVyLT5hZGRPYnNlcnZlcigqdGhpcyk7CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICBhdXRvKiBvcmlnaW4gPSBjb250ZXh0LnNlY3VyaXR5T3JpZ2lu
KCk7CisgICAgYXV0byBvcmlnaW5EYXRhID0gb3JpZ2luID8gb3JpZ2luLT5kYXRhKCkgOiBTZWN1
cml0eU9yaWdpbkRhdGEgeyB9OworICAgIG1fb3JpZ2luID0gQ2xpZW50T3JpZ2luIHsgY29udGV4
dC50b3BPcmlnaW4oKS5kYXRhKCksIG9yaWdpbkRhdGEgfTsKK30KKworUGVybWlzc2lvblN0YXR1
czo6flBlcm1pc3Npb25TdGF0dXMoKQoreworICAgIGlmIChtX2NvbnRyb2xsZXIpCisgICAgICAg
IG1fY29udHJvbGxlci0+cmVtb3ZlT2JzZXJ2ZXIoKnRoaXMpOworfQorCit2b2lkIFBlcm1pc3Np
b25TdGF0dXM6OnN0YXRlQ2hhbmdlZChQZXJtaXNzaW9uU3RhdGUgbmV3U3RhdGUpCit7CisgICAg
aWYgKG1fc3RhdGUgIT0gbmV3U3RhdGUpCisgICAgICAgIHF1ZXVlVGFza1RvRGlzcGF0Y2hFdmVu
dCgqdGhpcywgVGFza1NvdXJjZTo6UGVybWlzc2lvbiwgRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkuY2hhbmdlRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxl
OjpObykpOworfQorCitjb25zdCBjaGFyKiBQZXJtaXNzaW9uU3RhdHVzOjphY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIlBlcm1pc3Npb25TdGF0dXMiOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4NmEwM2Q1ZmE1ZTlj
OTRhYWVkYTgzNGQyZGI0MDQ5ZmU0YjliODIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaApAQCAtMCwwICsxLDc4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJBY3RpdmVET01PYmpl
Y3QuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25EZXNj
cmlwdG9yLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbk5hbWUuaCIKKyNpbmNsdWRlICJQZXJtaXNz
aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdGUuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBQZXJtaXNzaW9uQ29udHJvbGxlcjsKK2NsYXNzIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIFBlcm1pc3Npb25TdGF0dXMgZmluYWwgOiBwdWJsaWMg
UGVybWlzc2lvbk9ic2VydmVyLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgUmVmQ291
bnRlZDxQZXJtaXNzaW9uU3RhdHVzPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEg
IHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFBlcm1pc3Npb25TdGF0dXMpOworcHVibGlj
OgorICAgIHN0YXRpYyBSZWY8UGVybWlzc2lvblN0YXR1cz4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmLCBQZXJtaXNzaW9uU3RhdGUsIFBlcm1pc3Npb25EZXNjcmlwdG9yKTsKKyAgICB+
UGVybWlzc2lvblN0YXR1cygpOworCisgICAgUGVybWlzc2lvblN0YXRlIHN0YXRlKCkgY29uc3Qg
eyByZXR1cm4gbV9zdGF0ZTsgfQorICAgIFBlcm1pc3Npb25OYW1lIG5hbWUoKSBjb25zdCB7IHJl
dHVybiBtX2Rlc2NyaXB0b3IubmFtZTsgfQorCisgICAgdXNpbmcgUmVmQ291bnRlZDo6cmVmOwor
ICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOworCisgICAgdXNpbmcgUGVybWlzc2lvbk9ic2Vy
dmVyOjp3ZWFrUHRyRmFjdG9yeTsKKyAgICB1c2luZyBXZWFrVmFsdWVUeXBlID0gUGVybWlzc2lv
bk9ic2VydmVyOjpXZWFrVmFsdWVUeXBlOworCitwcml2YXRlOgorICAgIFBlcm1pc3Npb25TdGF0
dXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFBlcm1pc3Npb25TdGF0ZSwgUGVybWlzc2lvbkRl
c2NyaXB0b3IpOworCisgICAgLy8gUGVybWlzc2lvbk9ic2VydmVyCisgICAgdm9pZCBzdGF0ZUNo
YW5nZWQoUGVybWlzc2lvblN0YXRlKSBmaW5hbDsKKyAgICBjb25zdCBDbGllbnRPcmlnaW4mIG9y
aWdpbigpIGZpbmFsIHsgcmV0dXJuIG1fb3JpZ2luOyB9CisgICAgY29uc3QgUGVybWlzc2lvbkRl
c2NyaXB0b3ImIGRlc2NyaXB0b3IoKSBmaW5hbCB7IHJldHVybiBtX2Rlc2NyaXB0b3I7IH0KKwor
ICAgIC8vIEFjdGl2ZURPTU9iamVjdAorICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5h
bWUoKSBjb25zdCBmaW5hbDsKKworICAgIC8vIEV2ZW50VGFyZ2V0CisgICAgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IEFjdGl2ZURPTU9iamVjdDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CisgICAgRXZlbnRU
YXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBQZXJtaXNzaW9uU3RhdHVzRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CisgICAgdm9pZCBy
ZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVmKCk7IH0KKyAgICB2b2lkIGRlcmVmRXZlbnRUYXJn
ZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KKworICAgIFBlcm1pc3Npb25TdGF0ZSBtX3N0YXRlOwor
ICAgIFBlcm1pc3Npb25EZXNjcmlwdG9yIG1fZGVzY3JpcHRvcjsKKyAgICBDbGllbnRPcmlnaW4g
bV9vcmlnaW47CisgICAgV2Vha1B0cjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gbV9jb250cm9sbGVy
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZGI3ODE0MmU2OTllMjBlNmJlODZjYzVjZTIwNTZkMWRlYjY5MmVkMAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5p
ZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisgCisvLyBodHRwczovL3czYy5naXRodWIu
aW8vcGVybWlzc2lvbnMvI3Blcm1pc3Npb25zdGF0dXMKKworWworICAgIEFjdGl2ZURPTU9iamVj
dCwKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorICAgIEV4cG9zZWQ9KFdp
bmRvdyxXb3JrZXIpCitdIGludGVyZmFjZSBQZXJtaXNzaW9uU3RhdHVzIDogRXZlbnRUYXJnZXQg
eworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQZXJtaXNzaW9uU3RhdGUgc3RhdGU7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFBlcm1pc3Npb25OYW1lIG5hbWU7CisgICAgYXR0cmlidXRlIEV2ZW50
SGFuZGxlciBvbmNoYW5nZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbnMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2MjNmYzVlMmJiOTA0OTc3ODk1
MzU5NjMxMmFiMWFiZDE5NDM5NjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcApAQCAtMCwwICsxLDkxIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25zLmgiCisK
KyNpbmNsdWRlICJFeGNlcHRpb24uaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIkpT
RE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSlNQZXJtaXNzaW9uRGVzY3JpcHRvci5o
IgorI2luY2x1ZGUgIkpTUGVybWlzc2lvblN0YXR1cy5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5o
IgorI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uRGVzY3JpcHRvci5oIgor
I2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFBlcm1pc3Npb25zKTsKKworUmVmPFBlcm1p
c3Npb25zPiBQZXJtaXNzaW9uczo6Y3JlYXRlKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFBlcm1pc3Npb25zKG5hdmlnYXRvcikpOworfQorCitQZXJt
aXNzaW9uczo6UGVybWlzc2lvbnMoTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCisgICAgOiBtX25hdmln
YXRvcihtYWtlV2Vha1B0cihuYXZpZ2F0b3IpKQoreworfQorCitOYXZpZ2F0b3IqIFBlcm1pc3Np
b25zOjpuYXZpZ2F0b3IoKQoreworICAgIHJldHVybiBtX25hdmlnYXRvci5nZXQoKTsKK30KKwor
dm9pZCBQZXJtaXNzaW9uczo6cXVlcnkoSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4gcGVybWlz
c2lvbkRlc2NyaXB0b3JWYWx1ZSwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQZXJt
aXNzaW9uU3RhdHVzPj4mJiBwcm9taXNlKQoreworICAgIGF1dG8gY29udGV4dCA9IG1fbmF2aWdh
dG9yID8gbV9uYXZpZ2F0b3ItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSA6IG51bGxwdHI7Cisg
ICAgaWYgKCFjb250ZXh0IHx8ICFjb250ZXh0LT5nbG9iYWxPYmplY3QoKSkgeworICAgICAgICBw
cm9taXNlLnJlamVjdChFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9KTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIEpTQzo6Vk0mIHZtID0gY29udGV4dC0+Z2xvYmFsT2JqZWN0
KCktPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAg
IGlmICghcGVybWlzc2lvbkRlc2NyaXB0b3JWYWx1ZSkgeworICAgICAgICBwcm9taXNlLnJlamVj
dChFeGNlcHRpb24geyBEYXRhRXJyb3IsICJUaGUgcGFyYW1ldGVyIGlzIGludmFsaWQiX3MgfSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIHBhcmFtZXRlckRlc2NyaXB0b3Ig
PSBjb252ZXJ0PElETERpY3Rpb25hcnk8UGVybWlzc2lvbkRlc2NyaXB0b3I+PigqY29udGV4dC0+
Z2xvYmFsT2JqZWN0KCksIHBlcm1pc3Npb25EZXNjcmlwdG9yVmFsdWUuZ2V0KCkpOworICAgIGlm
IChVTkxJS0VMWShzY29wZS5leGNlcHRpb24oKSkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3Qo
RXhjZXB0aW9uIHsgRXhpc3RpbmdFeGNlcHRpb25FcnJvciB9KTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGF1dG8qIGZyYW1lID0gbV9uYXZpZ2F0b3ItPmZyYW1lKCk7CisgICAgYXV0
byogZG9jdW1lbnQgPSBmcmFtZT8gZnJhbWUtPmRvY3VtZW50KCkgOiBudWxscHRyOworICAgIGF1
dG8qIHBhZ2UgPSBmcmFtZT8gZnJhbWUtPnBhZ2UoKSA6IG51bGxwdHI7CisgICAgaWYgKCFmcmFt
ZSB8fCAhZG9jdW1lbnQgfHwgIXBhZ2UpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0
aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBhdXRvIHBlcm1pc3Npb25TdGF0ZSA9IHBhZ2UtPnBlcm1pc3Npb25Db250cm9sbGVyKCkucXVl
cnkoQ2xpZW50T3JpZ2luIHsgZG9jdW1lbnQtPnRvcE9yaWdpbigpLmRhdGEoKSwgZG9jdW1lbnQt
PnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpIH0sIFBlcm1pc3Npb25EZXNjcmlwdG9yIHsgcGFyYW1l
dGVyRGVzY3JpcHRvciB9KTsKKyAgICBwcm9taXNlLnJlc29sdmUoUGVybWlzc2lvblN0YXR1czo6
Y3JlYXRlKCpjb250ZXh0LCBwZXJtaXNzaW9uU3RhdGUsIHBhcmFtZXRlckRlc2NyaXB0b3IpKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyZTg5NTdhZjExOGNjNjY0
ZGRiNmM0YjU3NGQ2ZDI0Yzc1YzRmYTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmgKQEAgLTAsMCArMSw1OCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKKyNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9TdHJvbmcuaD4KKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+Cisj
aW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBKU09iamVj
dDsKK30gLy8gbmFtZXNwYWNlIEpTQworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5h
dmlnYXRvcjsKK2NsYXNzIFBlcm1pc3Npb25TdGF0dXM7CisKK3RlbXBsYXRlPHR5cGVuYW1lIElE
TFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKworY2xhc3MgUGVybWlzc2lvbnMgZmlu
YWwgOiBwdWJsaWMgUmVmQ291bnRlZDxQZXJtaXNzaW9ucz4geworICAgIFdURl9NQUtFX0lTT19B
TExPQ0FURUQoUGVybWlzc2lvbnMpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UGVybWlzc2lv
bnM+IGNyZWF0ZShOYXZpZ2F0b3ImKTsKKworICAgIE5hdmlnYXRvciogbmF2aWdhdG9yKCk7Cisg
ICAgdm9pZCBxdWVyeShKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiwgRE9NUHJvbWlzZURlZmVy
cmVkPElETEludGVyZmFjZTxQZXJtaXNzaW9uU3RhdHVzPj4mJik7CisKK3ByaXZhdGU6CisgICAg
ZXhwbGljaXQgUGVybWlzc2lvbnMoTmF2aWdhdG9yJik7CisKKyAgICBXZWFrUHRyPE5hdmlnYXRv
cj4gbV9uYXZpZ2F0b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmM2OGFhNjEyYTUwN2IzODA1NDBhNjcwYmU2NDVhYjY2ZWY0MzgxZGQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlk
bApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L3Blcm1pc3Npb25zLyNwZXJtaXNzaW9ucy1pbnRlcmZhY2UKKworWworICAgIEVuYWJsZWRCeVNl
dHRpbmc9UGVybWlzc2lvbnNBUEksCisgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVG
cm9tTmF2aWdhdG9yLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgRXhwb3Nl
ZD0oV2luZG93LFdvcmtlcikKK10gaW50ZXJmYWNlIFBlcm1pc3Npb25zIHsKKyAgICBQcm9taXNl
PFBlcm1pc3Npb25TdGF0dXM+IHF1ZXJ5KG9iamVjdCBwZXJtaXNzaW9uRGVzYyk7Cit9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAppbmRleCA2ZDU5ZGMzZmQ4Nzg0YWMzNTc2MGFkZGY1ZDkyMDU4ZDI1ODRkMDdiLi44
OTEwNTQ5NzMxOWE2YjA0ZTE4ZmU1MmU0NTFlZDRlZTlhNGYxNTI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApA
QCAtMjAzLDYgKzIwMyw5IEBAIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3Qu
Y3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3Bw
CiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXRpbGl0aWVzLmNwcAogTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuY3BwCitNb2R1bGVzL3Blcm1pc3Np
b25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcAorTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uU3RhdHVzLmNwcAorTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAKIE1vZHVs
ZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCiBNb2R1bGVz
L3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuY3BwCiBNb2R1bGVz
L3BpY3R1cmVpbnBpY3R1cmUvSFRNTFZpZGVvRWxlbWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCkBA
IC0zMjcyLDYgKzMyNzUsMTEgQEAgSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAKIEpTUGVyaW9kaWNX
YXZlLmNwcAogSlNQZXJpb2RpY1dhdmVDb25zdHJhaW50cy5jcHAKIEpTUGVyaW9kaWNXYXZlT3B0
aW9ucy5jcHAKK0pTUGVybWlzc2lvbkRlc2NyaXB0b3IuY3BwCitKU1Blcm1pc3Npb25OYW1lLmNw
cAorSlNQZXJtaXNzaW9uU3RhdGUuY3BwCitKU1Blcm1pc3Npb25TdGF0dXMuY3BwCitKU1Blcm1p
c3Npb25zLmNwcAogSlNQaWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcAogSlNQbGF5YmFja0RpcmVj
dGlvbi5jcHAKIEpTUG9pbnRlckV2ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQwYWEwZThkMmI5YjkxMDczYjk4M2E2
OGNmNTlmN2U2NmEyYTUzNzUuLjM2YWRlZWQ0OWQxMGY4N2E2MTgxZDgzMjgzZWI4NzY0ODQ4YWRk
ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTI4ODAsNiArMjg4MCwxNCBAQAogCQk5M0E4MDYxNzFFMDNCNTFDMDA4QTFGMjYg
LyogTG9uZ1JhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5M0E4MDYxMzFFMDNCNTFDMDA4QTFGMjYgLyogTG9uZ1JhbmdlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNBODA2MUUxRTAzQjU4NTAw
OEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzQTgwNjFBMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJhbmdl
LmggKi87IH07CiAJCTkzQTgwNjIwMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBODA2MUMxRTAz
QjU4NTAwOEExRjI2IC8qIEpTTG9uZ1JhbmdlLmggKi87IH07CisJCTkzQjBBNjUzMjZDREQxNDEw
MEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmln
YXRvclBlcm1pc3Npb25zLmggKi87IH07CisJCTkzQjBBNjU0MjZDREQxNDEwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTNCMEE2NEIyNkNERDEzRTAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmggKi87IH07CisJCTkz
QjBBNjU2MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY0RDI2Q0REMTNGMDBBQTIx
RTQgLyogUGVybWlzc2lvblN0YXR1cy5oICovOyB9OworCQk5M0IwQTY1NzI2Q0REMTQxMDBBQTIx
RTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
RGVzY3JpcHRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTkzQjBBNjU5MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NTAyNkNERDE0
MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNCMEE2NUIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1p
c3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTNCMEE2NTIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjcwMjZENEI1
MzkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NjkyNkQ0NEI3RjAwQUEyMUU0IC8qIFBl
cm1pc3Npb25Db250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJOTNCMEE2N0EyNkQ2QTRFOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNl
cnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNC
MEE2NkYyNkQ0QjUyOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzQjJEODE2MEY5OTIwRDIw
MDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRl
cm1pbmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJOTNCMzhFQzMyNTgyMURCNDAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNr
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IzOEVC
QTI1ODIxOTNCMDAxOThFNjMgLyogV2ViU3BlZWNoUmVjb2duaXplclRhc2suaCAqLzsgfTsKIAkJ
OTNCMzhFQzQyNTgyMURCNzAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMzhFQkIy
NTgyMTkzRDAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oICovOyB9OwpA
QCAtMTE3MDEsNiArMTE3MDksMjMgQEAKIAkJOTNBODA2MUExRTAzQjU4NTAwOEExRjI2IC8qIEpT
RG91YmxlUmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEb3VibGVS
YW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0E4MDYxQjFFMDNCNTg1MDA4
QTFGMjYgLyogSlNMb25nUmFuZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNMb25nUmFuZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0E4
MDYxQzFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNMb25nUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOTNCMEE2NDQyNkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvblN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTNCMEE2NDUyNkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlw
dG9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ2MjZDREM1QjcwMEFBMjFFNCAv
KiBQZXJtaXNzaW9uTmFtZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvbk5h
bWUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0NzI2Q0RDNUI3MDBB
QTIxRTQgLyogTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSAiTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTkzQjBBNjQ4MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk5M0IwQTY0OTI2Q0RDNUI4MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTkzQjBBNjRBMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJt
aXNzaW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JQZXJt
aXNzaW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0QjI2Q0REMTNF
MDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUGVybWlzc2lvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEMy
NkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1p
c3Npb25TdGF0dXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lv
blN0YXR1cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0RTI2Q0REMTNG
MDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUGVybWlzc2lvbkRlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOTNCMEE2NEYyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjUwMjZDREQxNDAwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uTmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
ZXJtaXNzaW9uTmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MTI2
Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUGVybWlzc2lvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk5M0IwQTY1MjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0ZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY2OTI2RDQ0QjdGMDBBQTIxRTQgLyogUGVybWlzc2lv
bkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbkNvbnRyb2xsZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NkYyNkQ0QjUyOTAwQUEyMUU0IC8qIFBl
cm1pc3Npb25PYnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uT2JzZXJ2ZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8q
IFN1ZGRlblRlcm1pbmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN1
ZGRlblRlcm1pbmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjJEODE3
MEY5OTIwRUUwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN1ZGRlblRlcm1pbmF0aW9uLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5M0IzOEVCODI1ODIxODk5MDAxOThFNjMgLyogU3BlZWNoUmVj
b2duaXplckNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
U3BlZWNoUmVjb2duaXplckNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MjMxODUsNiArMjMyMTAsMzAgQEAKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOwogCQl9OworCQk5M0IwQTY0MjI2Q0RDNTc0MDBBQTIxRTQgLyogcGVybWlzc2lvbnMg
Ki8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTkzQjBBNjQ3
MjZDREM1QjcwMEFBMjFFNCAvKiBOYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsICovLAorCQkJCTkz
QjBBNjRDMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAgKi8sCisJ
CQkJOTNCMEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi8s
CisJCQkJOTNCMEE2NjkyNkQ0NEI3RjAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmgg
Ki8sCisJCQkJOTNCMEE2NEUyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9y
LmggKi8sCisJCQkJOTNCMEE2NDUyNkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlw
dG9yLmlkbCAqLywKKwkJCQk5M0IwQTY1MDI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbk5h
bWUuaCAqLywKKwkJCQk5M0IwQTY0NjI2Q0RDNUI3MDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUu
aWRsICovLAorCQkJCTkzQjBBNjZGMjZENEI1MjkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2
ZXIuaCAqLywKKwkJCQk5M0IwQTY1MTI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuY3Bw
ICovLAorCQkJCTkzQjBBNjRCMjZDREQxM0UwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oICovLAor
CQkJCTkzQjBBNjQ4MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5pZGwgKi8sCisJCQkJ
OTNCMEE2NTIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oICovLAorCQkJCTkz
QjBBNjQ0MjZDREM1QjYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaWRsICovLAorCQkJCTkz
QjBBNjRGMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmNwcCAqLywKKwkJCQk5
M0IwQTY0RDI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5oICovLAorCQkJCTkz
QjBBNjQ5MjZDREM1QjgwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmlkbCAqLywKKwkJCSk7
CisJCQlwYXRoID0gcGVybWlzc2lvbnM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9
OwogCQk5M0IzOEVCNjI1ODIxODMzMDAxOThFNjMgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMjM3OTAsNiArMjM4MzksNyBAQAogCQkJCTcx
RDZBQTM5MURBNEVBRjcwMEIyMzk2OSAvKiBtb2Rlcm4tbWVkaWEtY29udHJvbHMgKi8sCiAJCQkJ
MzMzRjcwM0QwRkI0OUMxNjAwOEUxMkE2IC8qIG5vdGlmaWNhdGlvbnMgKi8sCiAJCQkJQTFGNzZC
MEUxRjQ0QzBDRjAwMTRDMzE4IC8qIHBheW1lbnRyZXF1ZXN0ICovLAorCQkJCTkzQjBBNjQyMjZD
REM1NzQwMEFBMjFFNCAvKiBwZXJtaXNzaW9ucyAqLywKIAkJCQkxREVGMDZBMjIzM0MzMkRCMDBF
RTIyOEQgLyogcGljdHVyZWlucGljdHVyZSAqLywKIAkJCQkwNzJBRTFERTE4M0MwNTEzMDAwQTU5
ODggLyogcGx1Z2lucyAqLywKIAkJCQlDREMzMTJFMDIyRkNEMEIwMDAxMjA0RUMgLyogcmVtb3Rl
cGxheWJhY2sgKi8sCkBAIC0zMzc1Nyw2ICszMzgwNyw3IEBACiAJCQkJNkI1MDdBMjQyMzRCRjM0
MTAwQkU3QzYyIC8qIE5hdmlnYXRvcklzTG9nZ2VkSW4uaCBpbiBIZWFkZXJzICovLAogCQkJCTVF
QTcyNUQ2MUFDQUJENTcwMEVBRDE3QiAvKiBOYXZpZ2F0b3JNZWRpYURldmljZXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTA3N0JBNTcyMjYwRkEwMTQwMDcyRjE5RiAvKiBOYXZpZ2F0b3JNZWRpYVNl
c3Npb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjUzMjZDREQxNDEwMEFBMjFFNCAvKiBO
YXZpZ2F0b3JQZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTk2RTU5REYxREYwMTI4
RDAwNjYxMkI5IC8qIE5hdmlnYXRvcldlYkRyaXZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFF
RThCNzgyNDEzMTkxRjAwRTc5NEQ2IC8qIE5hdmlnYXRvcldlYlhSLmggaW4gSGVhZGVycyAqLywK
IAkJCQk4QTMwOUM5RjEyMzk1MEJFMDBDQjkyMDQgLyogTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIu
aCBpbiBIZWFkZXJzICovLApAQCAtMzM5NTYsNiArMzQwMDcsMTMgQEAKIAkJCQlGRDU4MUZCNTE1
MjBGOTNCMDAzQTdBNzUgLyogUGVyaW9kaWNXYXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNzU1
RTg5MjI0Qzc0MzRCMDA5RjdDMjMgLyogUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUU3NTVFODk5MjRDNzQ2MUQwMDlGN0MyMyAvKiBQZXJpb2RpY1dhdmVPcHRp
b25zLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY3MDI2RDRCNTM5MDBBQTIxRTQgLyogUGVy
bWlzc2lvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjU3MjZDREQxNDEw
MEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNC
MEE2NTkyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmggaW4gSGVhZGVycyAqLywK
KwkJCQk5M0IwQTY3QTI2RDZBNEU5MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQk5M0IwQTY1NDI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbnMu
aCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjVCMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjU2MjZDREQxNDEwMEFBMjFFNCAv
KiBQZXJtaXNzaW9uU3RhdHVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUQ1REMyRTBGNDIzQTcz
MDA4RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCTFEQkMxQjU2MjM0N0IzRDIwMEI5MDFBRiAvKiBQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFEMkM4MkI3MjM2QTNGNkEwMDU1RDZDNSAvKiBQaWN0
dXJlSW5QaWN0dXJlU3VwcG9ydC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggZjE4MWM3OTZkNjUwY2M4
NmZlM2YwOGE3MjAwN2E2ZWRjMmVmYmM3OC4uODUxYTIxNGM5YTQ4N2ZmNjhkMTZiZTdkZDhmYmI1
MjA4ODdlYjkxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaApAQCAtMTU0LDYgKzE1NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBtYWNybyhNb2NrUlRDUnRwVHJhbnNmb3JtKSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yQ3JlZGVu
dGlhbHMpIFwKICAgICBtYWNybyhOYXZpZ2F0b3JNZWRpYURldmljZXMpIFwKKyAgICBtYWNybyhO
YXZpZ2F0b3JQZXJtaXNzaW9ucykgXAogICAgIG1hY3JvKE5hdmlnYXRvclVzZXJNZWRpYSkgXAog
ICAgIG1hY3JvKE9mZmxpbmVBdWRpb0NvbnRleHQpIFwKICAgICBtYWNybyhPZmZzY3JlZW5DYW52
YXMpIFwKQEAgLTE4Miw2ICsxODMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8o
UGVyZm9ybWFuY2VQYWludFRpbWluZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAorICAgIG1hY3Jv
KFBlcm1pc3Npb25EZXNjcmlwdG9yKSBcCisgICAgbWFjcm8oUGVybWlzc2lvblN0YXR1cykgXAor
ICAgIG1hY3JvKFBlcm1pc3Npb25zKSBcCiAgICAgbWFjcm8oUG9pbnRlckV2ZW50KSBcCiAgICAg
bWFjcm8oUHVibGljS2V5Q3JlZGVudGlhbCkgXAogICAgIG1hY3JvKFJlc2l6ZU9ic2VydmVyKSBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCA1ZTU4ZjExMTY2
N2VmNjIxMGQ1MzExMGQ3YjU0YTgwMmM4NDM5NWQ4Li4wMTNjZWQwOTQ2ZmZjZDUyNTlmYTI1MGIx
NjAzYTE4ZTQ1OWU0NTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXRGYWN0b3J5LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rvcnku
aW4KQEAgLTM1LDYgKzM1LDcgQEAgT2Zmc2NyZWVuQ2FudmFzIGNvbmRpdGlvbmFsPU9GRlNDUkVF
Tl9DQU5WQVMKIFBheW1lbnRSZXF1ZXN0IGNvbmRpdGlvbmFsPVBBWU1FTlRfUkVRVUVTVAogUGF5
bWVudFJlc3BvbnNlIGNvbmRpdGlvbmFsPVBBWU1FTlRfUkVRVUVTVAogUGVyZm9ybWFuY2UKK1Bl
cm1pc3Npb25TdGF0dXMKIFBpY3R1cmVJblBpY3R1cmVXaW5kb3cgY29uZGl0aW9uYWw9UElDVFVS
RV9JTl9QSUNUVVJFX0FQSQogUmVtb3RlUGxheWJhY2sgY29uZGl0aW9uYWw9V0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUCiBSVENEYXRhQ2hhbm5lbCBjb25kaXRpb25hbD1XRUJfUlRDCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGFza1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L1Rhc2tTb3VyY2UuaAppbmRleCA3MTMzZjY3OGVhMmQ5OTI2OTUxNjAyMDg2NGVmMTNkNGYzZWZk
Mzk4Li4yZGE0N2JhZDZjNzNhNmJhNWJmMjgzYjhkMzUyZjQwZDIxYWYwMTRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vVGFza1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9UYXNrU291cmNlLmgKQEAgLTM5LDYgKzM5LDcgQEAgZW51bSBjbGFzcyBUYXNrU291cmNlIDog
dWludDhfdCB7CiAgICAgTWljcm90YXNrLAogICAgIE5ldHdvcmtpbmcsCiAgICAgUGVyZm9ybWFu
Y2VUaW1lbGluZSwKKyAgICBQZXJtaXNzaW9uLAogICAgIFBvc3RlZE1lc3NhZ2VRdWV1ZSwKICAg
ICBTcGVlY2gsCiAgICAgVXNlckludGVyYWN0aW9uLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmNwcAppbmRleCA5NjRlMmRkMTIwNzAzMzFhNjVjYTM0MWFjNzBlNGIyODc0MjAwYTBk
Li41NWNjNDZlMjU5MTg0NjlmMzFkNTZjMDQ5NmU0M2RkNTVlY2ZkNWQxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtNjMsNiArNjMsNyBAQAogI2luY2x1ZGUgIlBh
Z2UuaCIKICNpbmNsdWRlICJQYWdlQ29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIlBheW1lbnRD
b29yZGluYXRvckNsaWVudC5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiUGx1Z2luSW5mb1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2Vy
Q2xpZW50LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW5EYXRhLmgiCkBAIC0xMTkzLDcgKzEx
OTQsOCBAQCBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVu
dHMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQogICAgICAgICBtYWtlVW5pcXVlUmVmPEVtcHR5
RnJhbWVMb2FkZXJDbGllbnQ+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8RHVtbXlTcGVlY2hS
ZWNvZ25pdGlvblByb3ZpZGVyPigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPEVtcHR5TWVkaWFS
ZWNvcmRlclByb3ZpZGVyPigpLAotICAgICAgICBFbXB0eUJyb2FkY2FzdENoYW5uZWxSZWdpc3Ry
eTo6Y3JlYXRlKCkKKyAgICAgICAgRW1wdHlCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmNyZWF0
ZSgpLAorICAgICAgICBtYWtlVW5pcXVlUmVmPER1bW15UGVybWlzc2lvbkNvbnRyb2xsZXI+KCkK
ICAgICB9OwogCiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEVtcHR5Q2hyb21lQ2xpZW50PiBk
dW1teUNocm9tZUNsaWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGVlZTY4Yjc3ZTFlNWZjZTFl
NTljMzI5NDM0YTlhODYwMGIzNjk3MTAuLjg2MTA3OGJhMGJmNjE4M2I3NzExNDVhNzRiNDFiZTA3
ZDdiMDU2MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtOTksNiArOTksNyBAQAogI2luY2x1ZGUg
IlBlcmZvcm1hbmNlTG9nZ2luZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVu
dC5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTW9uaXRvci5oIgorI2luY2x1ZGUgIlBlcm1pc3Np
b25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgi
CiAjaW5jbHVkZSAiUGxhdGZvcm1TY3JlZW4uaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdp
ZXMuaCIKQEAgLTMyNSw2ICszMjYsNyBAQCBQYWdlOjpQYWdlKFBhZ2VDb25maWd1cmF0aW9uJiYg
cGFnZUNvbmZpZ3VyYXRpb24pCiAgICAgLCBtX2xvYWRzU3VicmVzb3VyY2VzKHBhZ2VDb25maWd1
cmF0aW9uLmxvYWRzU3VicmVzb3VyY2VzKQogICAgICwgbV9zaG91bGRSZWxheFRoaXJkUGFydHlD
b29raWVCbG9ja2luZyhwYWdlQ29uZmlndXJhdGlvbi5zaG91bGRSZWxheFRoaXJkUGFydHlDb29r
aWVCbG9ja2luZykKICAgICAsIG1faHR0cHNVcGdyYWRlRW5hYmxlZChwYWdlQ29uZmlndXJhdGlv
bi5odHRwc1VwZ3JhZGVFbmFibGVkKQorICAgICwgbV9wZXJtaXNzaW9uQ29udHJvbGxlcihXVEZN
b3ZlKHBhZ2VDb25maWd1cmF0aW9uLnBlcm1pc3Npb25Db250cm9sbGVyKSkKIHsKICAgICB1cGRh
dGVUaW1lclRocm90dGxpbmdTdGF0ZSgpOwogCkBAIC0zNjkzLDQgKzM2OTUsOSBAQCB2b2lkIFBh
Z2U6OnJlc2V0VGV4dFJlY29nbml0aW9uUmVzdWx0cygpCiAKICNlbmRpZiAvLyBFTkFCTEUoSU1B
R0VfQU5BTFlTSVMpCiAKK1Blcm1pc3Npb25Db250cm9sbGVyJiBQYWdlOjpwZXJtaXNzaW9uQ29u
dHJvbGxlcigpCit7CisgICAgcmV0dXJuIG1fcGVybWlzc2lvbkNvbnRyb2xsZXIuZ2V0KCk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggOTI1NWJmMzEzYzY3
ZDcxNDgxNWNmNzgxNTI2NmZmZDgwNWIyMmY2MC4uM2IxZTI2OTA1NTZkZDRmM2QxN2E4ZWI4NWYy
NGQwMDQwODg3NDM3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTEzMSw2ICsxMzEsNyBAQCBjbGFzcyBQ
YXltZW50Q29vcmRpbmF0b3I7CiBjbGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmc7CiBjbGFzcyBQZXJm
b3JtYW5jZUxvZ2dpbmdDbGllbnQ7CiBjbGFzcyBQZXJmb3JtYW5jZU1vbml0b3I7CitjbGFzcyBQ
ZXJtaXNzaW9uQ29udHJvbGxlcjsKIGNsYXNzIFBsdWdpbkRhdGE7CiBjbGFzcyBQbHVnaW5JbmZv
UHJvdmlkZXI7CiBjbGFzcyBQbHVnaW5WaWV3QmFzZTsKQEAgLTg3Miw2ICs4NzMsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBjYWNoZVRleHRSZWNvZ25pdGlvblJlc3VsdChjb25zdCBIVE1MRWxlbWVu
dCYsIGNvbnN0IEludFJlY3QmIGNvbnRhaW5lclJlY3QsIGNvbnN0IFRleHRSZWNvZ25pdGlvblJl
c3VsdCYpOwogI2VuZGlmCiAKKyAgICBXRUJDT1JFX0VYUE9SVCBQZXJtaXNzaW9uQ29udHJvbGxl
ciYgcGVybWlzc2lvbkNvbnRyb2xsZXIoKTsKKwogcHJpdmF0ZToKICAgICBzdHJ1Y3QgTmF2aWdh
dGlvbiB7CiAgICAgICAgIFJlZ2lzdHJhYmxlRG9tYWluIGRvbWFpbjsKQEAgLTExOTQsNiArMTE5
Nyw4IEBAIHByaXZhdGU6CiAgICAgY29uc3QgYm9vbCBtX2h0dHBzVXBncmFkZUVuYWJsZWQgeyB0
cnVlIH07CiAgICAgbXV0YWJsZSBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgbV9tZWRpYVNl
c3Npb25Hcm91cElkZW50aWZpZXI7CiAKKyAgICBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xs
ZXI+IG1fcGVybWlzc2lvbkNvbnRyb2xsZXI7CisKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMp
CiAgICAgLy8gRklYTUU6IFRoZXNlIHNob3VsZCBiZSByZWZhY3RvcmVkIHRvIHVzZSBhIHdlYWsg
aGFzaCBtYXAgb2YgSFRNTEVsZW1lbnQgdG8gc3RkOjpwYWlyPFRleHRSZWNvZ25pdGlvblJlc3Vs
dCwgSW50U2l6ZT4uCiAgICAgVmVjdG9yPHN0ZDo6cGFpcjxXZWFrUHRyPEhUTUxFbGVtZW50Piwg
c3RkOjpwYWlyPFRleHRSZWNvZ25pdGlvblJlc3VsdCwgSW50UmVjdD4+PiBtX3RleHRSZWNvZ25p
dGlvblJlc3VsdHNCeUVsZW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uY3BwCmluZGV4IDY3NWUzNjljYzFlMmMyYjc3ZDk5ZmRkMDkxMzRiMTk4ZjBjZjNhZjMuLmNi
NTYwZmQ0MTRhMjNhNzZiMmNjN2I2MGVhNTAyOTk5YTk4MWNjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCkBAIC01OSw3ICs1OSw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotUGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGll
bnQsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldl
YlJUQ1Byb3ZpZGVyPiYmIGxpYldlYlJUQ1Byb3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlk
ZXI+JiYgY2FjaGVTdG9yYWdlUHJvdmlkZXIsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmIHVz
ZXJDb250ZW50UHJvdmlkZXIsIFJlZjxCYWNrRm9yd2FyZENsaWVudD4mJiBiYWNrRm9yd2FyZENs
aWVudCwgUmVmPENvb2tpZUphcj4mJiBjb29raWVKYXIsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNr
ZXJDbGllbnQ+JiYgcHJvZ3Jlc3NUcmFja2VyQ2xpZW50LCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJD
bGllbnQ+JiYgbG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1lLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2du
aXRpb25Qcm92aWRlcj4mJiBzcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyLCBVbmlxdWVSZWY8TWVk
aWFSZWNvcmRlclByb3ZpZGVyPiYmIG1lZGlhUmVjb3JkZXJQcm92aWRlciwgUmVmPEJyb2FkY2Fz
dENoYW5uZWxSZWdpc3RyeT4mJiBicm9hZGNhc3RDaGFubmVsUmVnaXN0cnkpCitQYWdlQ29uZmln
dXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVbmlx
dWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRvckNsaWVudCwgUmVmPFNvY2tldFByb3ZpZGVyPiYm
IHNvY2tldFByb3ZpZGVyLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYgbGliV2ViUlRD
UHJvdmlkZXIsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4mJiBjYWNoZVN0b3JhZ2VQcm92aWRl
ciwgUmVmPFVzZXJDb250ZW50UHJvdmlkZXI+JiYgdXNlckNvbnRlbnRQcm92aWRlciwgUmVmPEJh
Y2tGb3J3YXJkQ2xpZW50PiYmIGJhY2tGb3J3YXJkQ2xpZW50LCBSZWY8Q29va2llSmFyPiYmIGNv
b2tpZUphciwgVW5pcXVlUmVmPFByb2dyZXNzVHJhY2tlckNsaWVudD4mJiBwcm9ncmVzc1RyYWNr
ZXJDbGllbnQsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNsaWVudD4mJiBsb2FkZXJDbGllbnRGb3JN
YWluRnJhbWUsIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmIHNwZWVjaFJl
Y29nbml0aW9uUHJvdmlkZXIsIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYgbWVk
aWFSZWNvcmRlclByb3ZpZGVyLCBSZWY8QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmIGJyb2Fk
Y2FzdENoYW5uZWxSZWdpc3RyeSwgVW5pcXVlUmVmPFBlcm1pc3Npb25Db250cm9sbGVyPiYmIHBl
cm1pc3Npb25Db250cm9sbGVyKQogICAgIDogc2Vzc2lvbklEKHNlc3Npb25JRCkKICAgICAsIGVk
aXRvckNsaWVudChXVEZNb3ZlKGVkaXRvckNsaWVudCkpCiAgICAgLCBzb2NrZXRQcm92aWRlcihX
VEZNb3ZlKHNvY2tldFByb3ZpZGVyKSkKQEAgLTczLDYgKzczLDcgQEAgUGFnZUNvbmZpZ3VyYXRp
b246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgVW5pcXVlUmVm
PEVkaXRvckMKICAgICAsIGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeShXVEZNb3ZlKGJyb2FkY2Fz
dENoYW5uZWxSZWdpc3RyeSkpCiAgICAgLCBzcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyKFdURk1v
dmUoc3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcikpCiAgICAgLCBtZWRpYVJlY29yZGVyUHJvdmlk
ZXIoV1RGTW92ZShtZWRpYVJlY29yZGVyUHJvdmlkZXIpKQorICAgICwgcGVybWlzc2lvbkNvbnRy
b2xsZXIoV1RGTW92ZShwZXJtaXNzaW9uQ29udHJvbGxlcikpCiB7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAppbmRleCAwZjI1OWQ1NmQzYTE0MmExNGUwZWM4NTE0
ZTBmZDViMmZkMjkzMGE1Li5kNzViNzEwNGMzNTAzOTFmNThhOTY4ZmFlMmU2ZTAzNTQ2MTE2YWNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCkBAIC01OSw2ICs1OSw3
IEBAIGNsYXNzIExpYldlYlJUQ1Byb3ZpZGVyOwogY2xhc3MgTWVkaWFSZWNvcmRlclByb3ZpZGVy
OwogY2xhc3MgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50OwogY2xhc3MgUGVyZm9ybWFuY2VMb2dn
aW5nQ2xpZW50OworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXI7CiBjbGFzcyBQbHVnaW5JbmZv
UHJvdmlkZXI7CiBjbGFzcyBQcm9ncmVzc1RyYWNrZXJDbGllbnQ7CiBjbGFzcyBTb2NrZXRQcm92
aWRlcjsKQEAgLTc0LDcgKzc1LDcgQEAgY2xhc3MgU3BlZWNoU3ludGhlc2lzQ2xpZW50OwogY2xh
c3MgUGFnZUNvbmZpZ3VyYXRpb24gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDb25m
aWd1cmF0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV0VCQ09S
RV9FWFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpTZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0
b3JDbGllbnQ+JiYsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1By
b3ZpZGVyPiYmLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYsIFJlZjxVc2VyQ29udGVudFBy
b3ZpZGVyPiYmLCBSZWY8QmFja0ZvcndhcmRDbGllbnQ+JiYsIFJlZjxDb29raWVKYXI+JiYsIFVu
aXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNs
aWVudD4mJiwgVW5pcXVlUmVmPFNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+JiYsIFVuaXF1ZVJl
ZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYsIFJlZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+
JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIFBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklE
LCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmLCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1
ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmLCBS
ZWY8VXNlckNvbnRlbnRQcm92aWRlcj4mJiwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmLCBSZWY8
Q29va2llSmFyPiYmLCBVbmlxdWVSZWY8UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmLCBVbmlxdWVS
ZWY8RnJhbWVMb2FkZXJDbGllbnQ+JiYsIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3Zp
ZGVyPiYmLCBVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPiYmLCBSZWY8QnJvYWRjYXN0
Q2hhbm5lbFJlZ2lzdHJ5PiYmLCBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+JiYpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIH5QYWdlQ29uZmlndXJhdGlvbigpOwogICAgIFBhZ2VDb25maWd1
cmF0aW9uKFBhZ2VDb25maWd1cmF0aW9uJiYpOwogCkBAIC0xMzgsNiArMTM5LDggQEAgcHVibGlj
OgogICAgIGJvb2wgdXNlclNjcmlwdHNTaG91bGRXYWl0VW50aWxOb3RpZmljYXRpb24geyB0cnVl
IH07CiAgICAgU2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcgc2hvdWxkUmVsYXhU
aGlyZFBhcnR5Q29va2llQmxvY2tpbmcgeyBTaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9j
a2luZzo6Tm8gfTsKICAgICBib29sIGh0dHBzVXBncmFkZUVuYWJsZWQgeyB0cnVlIH07CisKKyAg
ICBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+IHBlcm1pc3Npb25Db250cm9sbGVyOwog
fTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9X
ZWJLaXQvU291cmNlcy50eHQKaW5kZXggNjZhZWRhNDNjODJkOGJmYjMzNWJiZmVmNjA5NWQwNGVm
YWRiODYyMC4uYTc0NWQ3MjAxNWNmYzE5NWZiOTZmMmNjNTU4NThhODMxYjc1MGVhOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXMudHh0CkBAIC02OTQsNiArNjk0LDcgQEAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJN
ZWRpYUtleVN5c3RlbUNsaWVudC5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTWVz
c2FnZVBvcnRDaGFubmVsUHJvdmlkZXIuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
Yk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVy
Zm9ybWFuY2VMb2dnaW5nQ2xpZW50LmNwcAorV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
ZXJtaXNzaW9uQ29udHJvbGxlci5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxh
dGZvcm1TdHJhdGVnaWVzLmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1l
bnUuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlByb2dyZXNzVHJhY2tlckNsaWVu
dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDVmYjMw
ODk1MDE1NjI0ODY2NjE1M2M2MjRmNDAzNGVhNGE4ODRmZGYuLjlhODI5NmI5OGQ1YmIwZGI2M2E3
ODBmMTViZjM0MjMzZTdlNDNjMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcApAQCAtMTcyLDYgKzE3Miw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9NSU1FVHlwZVJl
Z2lzdHJ5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVN0cmVhbVJlcXVlc3QuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1BlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvUGVybWlzc2lvblN0YXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUV2ZW50Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUHVibGljU3VmZml4Lmg+CkBAIC04NDkzLDYgKzg0OTQsMTIgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OnJldm9rZUdlb2xvY2F0aW9uQXV0aG9yaXphdGlvblRva2VuKGNvbnN0IFN0cmlu
ZyYgYXV0aG9yaXphdGkKICAgICBtX2dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
LnJldm9rZUF1dGhvcml6YXRpb25Ub2tlbihhdXRob3JpemF0aW9uVG9rZW4pOwogfQogCit2b2lk
IFdlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24oY29uc3QgV2ViQ29yZTo6Q2xpZW50T3Jp
Z2luJiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRsZXIp
Cit7CisgICAgLy8gRklYTUU6IFNob3cgYSBwcm9tcHQgZm9yIHVzZXIgaW5wdXQuCisgICAgY29t
cGxldGlvbkhhbmRsZXIoUGVybWlzc2lvblN0YXRlOjpHcmFudGVkKTsKK30KKwogI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSYg
V2ViUGFnZVByb3h5Ojp1c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBlYTFjMjJmYjZiMTFiZTk2ODk5
MjgyNjRkM2JmM2ZjODQ3MTA5YjhkLi40NjFhYWNiODg4NmE1MjMxY2NhYWZmMDc0ZjJhMWE1NGMw
MTc3ZDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjk0LDYg
KzI5NCw3IEBAIHN0cnVjdCBMaW5rSWNvbjsKIHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3Q7CiBz
dHJ1Y3QgTWVkaWFVc2FnZUluZm87CiBzdHJ1Y3QgTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmln
dXJhdGlvbjsKK3N0cnVjdCBQZXJtaXNzaW9uRGVzY3JpcHRvcjsKIHN0cnVjdCBQcmV3YXJtSW5m
b3JtYXRpb247CiBzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5EYXRhOwogc3RydWN0IFNoYXJlRGF0YTsK
QEAgLTIxMTcsNiArMjExOCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHJlcXVlc3RHZW9sb2Nh
dGlvblBlcm1pc3Npb25Gb3JGcmFtZShHZW9sb2NhdGlvbklkZW50aWZpZXIsIEZyYW1lSW5mb0Rh
dGEmJik7CiAgICAgdm9pZCByZXZva2VHZW9sb2NhdGlvbkF1dGhvcml6YXRpb25Ub2tlbihjb25z
dCBTdHJpbmcmIGF1dGhvcml6YXRpb25Ub2tlbik7CisgICAgdm9pZCByZXF1ZXN0UGVybWlzc2lv
bihjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9u
RGVzY3JpcHRvciYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0
YXRlKT4mJik7CiAKICNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKICAgICB2b2lk
IHNlbmRNZXNzYWdlVG9XZWJWaWV3KFVzZXJNZXNzYWdlJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGJjMzdiOGZjNmFkZjNl
YWQxODcyZDExNTVmZjBjYmQwMDlkYzBhZjkuLjA3ZTBmNTQ4MDM0Njk3MDNhNmY3MzdkOTkzMDdi
MWVjNzM1MGNkMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4KQEAgLTYwMiw0ICs2MDIsNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJv
eHkgewogI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIE1vZGVsRWxlbWVu
dERpZENyZWF0ZVByZXZpZXcoc3RydWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0IGVsZW1lbnRD
b250ZXh0LCBVUkwgdXJsLCBTdHJpbmcgdXVpZCwgV2ViQ29yZTo6RmxvYXRTaXplIHNpemUpCiAj
ZW5kaWYKKworICAgIHJlcXVlc3RQZXJtaXNzaW9uKHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmln
aW4gb3JpZ2luLCBzdHJ1Y3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRv
cikgLT4gKGVudW06dWludDhfdCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpIEFzeW5j
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBmZTNkMzJiMzI5NWMyYzQ0ZmQ0NDQ0Y2RkN2YxNDFmMjQwMDRjYTAyLi5mYjY4YTNiZDE2
ZDI3MzgyY2QzM2M5M2IxMGJlYmUyOTNiMzNhNTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0OTYsNiArMTQ5Niw3IEBACiAJCTkz
QUI5QjRFMjU3NTY3RTIwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1l
TWVkaWFTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzQUI5QjQyMjU3NDkyOEMwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJl
YWx0aW1lTWVkaWFTb3VyY2UuaCAqLzsgfTsKIAkJOTNBQjlCNTUyNTc1QTI3NjAwOThCMTBFIC8q
IFNwZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNB
QjlCNEYyNTc1ODkxMTAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNv
dXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk5M0FCOUI1NjI1NzVBMjhC
MDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFu
YWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5M0FCOUI1MTI1NzU4OTExMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRp
b25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87
IH07CisJCTkzQjBBNjc1MjZENUFEQ0YwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2
NzQyNkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggKi87IH07CiAJ
CTkzQjI2MTREMjI3RDE0OUUwMEI5N0E3NiAvKiBTdG9yYWdlTWFuYWdlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMjYxNDkyMjdEMTQ3MjAwQjk3
QTc2IC8qIFN0b3JhZ2VNYW5hZ2VyLmggKi87IH07CiAJCTkzQjI2MTRFMjI3RDE0QjEwMEI5N0E3
NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTNCMjYxNDUyMjdEMTQ3MDAwQjk3QTc2IC8qIExvY2FsU3RvcmFn
ZURhdGFiYXNlLmggKi87IH07CiAJCTkzQjI2MTRGMjI3RDE0QjEwMEI5N0E3NiAvKiBMb2NhbFN0
b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzQjI2MTQ2MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRh
YmFzZVRyYWNrZXIuaCAqLzsgfTsKQEAgLTQ5MTQsNiArNDkxNSwxMCBAQAogCQk5M0FCOUI1MjI1
NzU4OTEyMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291
cmNlTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVz
c2FnZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQUI5QjUzMjU3
NTg5MTIwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3Vy
Y2VNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3Bl
ZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQUI5QjU0MjU3NTg5MTIwMDk4QjEwRSAv
KiBTcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3BlZWNoUmVjb2duaXRpb25SZWFsdGlt
ZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTkzQjBBNjZEMjZENDUxNTAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJtaXNzaW9uTWFuYWdlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjZFMjZENDUxNTAwMEFBMjFFNCAv
KiBQZXJtaXNzaW9uTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
ZXJtaXNzaW9uTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY3
MzI2RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY3NDI2RDVBNzJFMDBBQTIxRTQg
LyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOTNCMjYxNDUyMjdEMTQ3MDAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvY2FsU3RvcmFnZURhdGFiYXNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjI2MTQ2MjI3RDE0NzEwMEI5N0E3NiAv
KiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkzQjI2MTQ3MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRh
YmFzZVRyYWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9j
YWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTk2MjMsNiArOTYyOCwxNSBAQAogCQkJcGF0aCA9IFNwZWVjaDsKIAkJCXNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7CiAJCX07CisJCTkzQjBBNjZDMjZENDUxMUYwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk5M0Iw
QTY2RDI2RDQ1MTUwMDBBQTIxRTQgLyogUGVybWlzc2lvbk1hbmFnZXIuY3BwICovLAorCQkJCTkz
QjBBNjZFMjZENDUxNTAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5oICovLAorCQkJKTsK
KwkJCXBhdGggPSBQZXJtaXNzaW9uOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsK
IAkJOTNCMjYxNDMyMjdEMTQzMTAwQjk3QTc2IC8qIFdlYlN0b3JhZ2UgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtOTg2Myw2ICs5ODc3LDcgQEAKIAkJCQk0
QTQxMEY0MTE5QUY3QjI3MDAyRUJBQjUgLyogTWVkaWFTdHJlYW0gKi8sCiAJCQkJNTEwNUIwRDIx
NjJGN0E1RTAwRTI3NzA5IC8qIE5ldHdvcmsgKi8sCiAJCQkJMzEwOTk5NzQxNDZDOEFBODAwMjlE
RUI5IC8qIE5vdGlmaWNhdGlvbnMgKFVzZXIpICovLAorCQkJCTkzQjBBNjZDMjZENDUxMUYwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uICovLAogCQkJCTFBNkZCN0FBMTFFNjRCNDkwMERCMTM3MSAvKiBQ
bHVnaW5zICovLAogCQkJCTkzQUI5QjQ4MjU3NEM1Q0UwMDk4QjEwRSAvKiBTcGVlY2ggKi8sCiAJ
CQkJNTExOEU5OTgxRjI5NTI1OTAwM0VGOUY1IC8qIFN0b3JhZ2UgKi8sCkBAIC05OTMzLDYgKzk5
NDgsOCBAQAogCQkJCTUxMjEyN0MyMTkwODIzOUEwMERBRjM1QyAvKiBXZWJQYXN0ZWJvYXJkT3Zl
cnJpZGVzLmggKi8sCiAJCQkJMEY4NTBGRTQxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1h
bmNlTG9nZ2luZ0NsaWVudC5jcHAgKi8sCiAJCQkJMEY4NTBGRTUxRUQ3QzM5RjAwRkI3N0E3IC8q
IFdlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oICovLAorCQkJCTkzQjBBNjczMjZENUE3MkUw
MEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAgKi8sCisJCQkJOTNCMEE2NzQy
NkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggKi8sCiAJCQkJMUEz
RTczNjAxMUNDMjY1OTAwN0JENTM5IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgKi8sCiAJ
CQkJMUEzRTczNUYxMUNDMjY1OTAwN0JENTM5IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5oICov
LAogCQkJCUQzQjk0ODQyMTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuY3BwICovLApA
QCAtMTI2NjIsNiArMTI2NzksNyBAQAogCQkJCUExNzk4QjRDMjIyRjFCRDQwMDA3NjRCRCAvKiBX
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUIx
Rjc5OTFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNzYWdl
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY4NTBGRTcxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBl
cmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NzUyNkQ1
QURDRjAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQTNFNzM2MTExQ0MyNjU5MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzU3NDRGMDEyNjM4RkIzMDA2RjBGMTIgLyogV2ViUG9wdXBJ
dGVtLmggaW4gSGVhZGVycyAqLywKIAkJCQlEM0I5NDg0NzExRkY0QjY1MDAwMzJCMzkgLyogV2Vi
UG9wdXBNZW51LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xs
ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFiOTAzNThkMWNiMTY5YWM1ZTdiYjNhNGI3NzllZWFlOTY1NjAw
NTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwCkBAIC0wLDAgKzEsMTM3IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlBlcm1pc3Npb25Db250
cm9sbGVyLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJQZXJtaXNzaW9uQ29udHJvbGxl
cjo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXIoV2ViUGFnZSYgcGFnZSkKKyAgICA6IG1fcGFnZSht
YWtlV2Vha1B0cihwYWdlKSkKK3sKK30KKworUGVybWlzc2lvblN0YXRlIFdlYlBlcm1pc3Npb25D
b250cm9sbGVyOjpxdWVyeShXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNvcmU6
OlBlcm1pc3Npb25EZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikKK3sKKyAgICBpZiAoIW1fcGFnZSkK
KyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkOworCisgICAg
cmV0dXJuIHF1ZXJ5Q2FjaGUoV1RGTW92ZShvcmlnaW4pLCBXVEZNb3ZlKGRlc2NyaXB0b3IpKTsK
K30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cmVxdWVzdChDbGllbnRPcmlnaW4m
JiBvcmlnaW4sIFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiYgZGVzY3JpcHRvciwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChQZXJtaXNzaW9uU3RhdGUpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQoreworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIo
UGVybWlzc2lvblN0YXRlOjpEZW5pZWQpOworCisgICAgYXV0byBjYWNoZWRSZXN1bHQgPSBxdWVy
eUNhY2hlKG9yaWdpbiwgZGVzY3JpcHRvcik7CisgICAgaWYgKGNhY2hlZFJlc3VsdCAhPSBXZWJD
b3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdCkKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25I
YW5kbGVyKGNhY2hlZFJlc3VsdCk7CisKKyAgICBtX3JlcXVlc3RzLmFwcGVuZChQZXJtaXNzaW9u
UmVxdWVzdCB7IFdURk1vdmUob3JpZ2luKSwgV1RGTW92ZShkZXNjcmlwdG9yKSwgV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcikgfSk7CisgICAgdHJ5UHJvY2Vzc2luZ1JlcXVlc3QoKTsKK30KKwor
UGVybWlzc2lvblN0YXRlIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpxdWVyeUNhY2hlKGNvbnN0
IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYgb3JpZ2luLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9u
RGVzY3JpcHRvciYgZGVzY3JpcHRvcikKK3sKKyAgICBpZiAobV9jYWNoZWRQZXJtaXNzaW9uRW50
cmllcy5jb250YWlucyhvcmlnaW4pKSB7CisgICAgICAgIGF1dG8gcGVybWlzc2lvbkVudHJpZXMg
PSBtX2NhY2hlZFBlcm1pc3Npb25FbnRyaWVzLmdldChvcmlnaW4pOworICAgICAgICBmb3IgKGF1
dG8mIGVudHJ5IDogcGVybWlzc2lvbkVudHJpZXMpIHsKKyAgICAgICAgICAgIGlmIChlbnRyeS5m
aXJzdCA9PSBkZXNjcmlwdG9yKQorICAgICAgICAgICAgICAgIHJldHVybiBlbnRyeS5zZWNvbmQ7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRl
OjpQcm9tcHQ7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnVwZGF0ZUNhY2hl
KGNvbnN0IENsaWVudE9yaWdpbiYgb3JpZ2luLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVz
Y3JpcHRvciYgZGVzY3JpcHRvciwgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHN0YXRlKQorewor
ICAgIGF1dG8mIGVudHJpZXMgPSBtX2NhY2hlZFBlcm1pc3Npb25FbnRyaWVzLmVuc3VyZShvcmln
aW4sIFsmXSgpIHsKKyAgICAgICAgcmV0dXJuIFZlY3RvcjxQZXJtaXNzaW9uRW50cnk+IHsgfTsK
KyAgICB9KS5pdGVyYXRvci0+dmFsdWU7CisgICAgZm9yIChhdXRvJiBlbnRyeSA6IGVudHJpZXMp
IHsKKyAgICAgICAgaWYgKGVudHJ5LmZpcnN0ID09IGRlc2NyaXB0b3IpIHsKKyAgICAgICAgICAg
IGlmIChlbnRyeS5zZWNvbmQgPT0gc3RhdGUpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgICAgICBlbnRyeS5zZWNvbmQgPSBzdGF0ZTsKKyAgICAgICAgICAgIHBlcm1pc3Npb25D
aGFuZ2VkKG9yaWdpbiwgZGVzY3JpcHRvciwgc3RhdGUpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisgICAgfQorfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQ
cm9jZXNzaW5nUmVxdWVzdCgpCit7CisgICAgaWYgKG1fcmVxdWVzdHMuaXNFbXB0eSgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICB3aGlsZSAoIW1fcmVxdWVzdHMuaXNFbXB0eSgpKSB7CisgICAg
ICAgIGF1dG8mIGN1cnJlbnRSZXF1ZXN0ID0gbV9yZXF1ZXN0cy5maXJzdCgpOworICAgICAgICBp
ZiAoY3VycmVudFJlcXVlc3QuaXNXYWl0aW5nRm9yUmVwbHkpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgLy8gQ2FjaGUgbWF5IGhhdmUgY2hhbmdlZCBiZXR3ZWVuIHJlcXVlc3RzLgor
ICAgICAgICBhdXRvIGNhY2hlZFJlc3VsdCA9IHF1ZXJ5Q2FjaGUoY3VycmVudFJlcXVlc3Qub3Jp
Z2luLCBjdXJyZW50UmVxdWVzdC5kZXNjcmlwdG9yKTsKKyAgICAgICAgaWYgKGNhY2hlZFJlc3Vs
dCAhPSBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdCkgeworICAgICAgICAgICAgYXV0
byB0YWtlblJlcXVlc3QgPSBtX3JlcXVlc3RzLnRha2VGaXJzdCgpOworICAgICAgICAgICAgdGFr
ZW5SZXF1ZXN0LmNvbXBsZXRpb25IYW5kbGVyKGNhY2hlZFJlc3VsdCk7CisgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgfQorCisgICAgICAgIGN1cnJlbnRSZXF1ZXN0LmlzV2FpdGluZ0Zv
clJlcGx5ID0gdHJ1ZTsKKyAgICAgICAgbV9wYWdlLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24oY3VycmVudFJlcXVlc3Qub3JpZ2lu
LCBjdXJyZW50UmVxdWVzdC5kZXNjcmlwdG9yKSwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQ
dHIoKnRoaXMpXShhdXRvIHN0YXRlKSB7CisgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAg
ICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgYXV0byB0YWtlblJlcXVlc3QgPSBt
X3JlcXVlc3RzLnRha2VGaXJzdCgpOworICAgICAgICAgICAgdGFrZW5SZXF1ZXN0LmNvbXBsZXRp
b25IYW5kbGVyKHN0YXRlKTsKKyAgICAgICAgICAgIHVwZGF0ZUNhY2hlKHRha2VuUmVxdWVzdC5v
cmlnaW4sIHRha2VuUmVxdWVzdC5kZXNjcmlwdG9yLCBzdGF0ZSk7CisKKyAgICAgICAgICAgIHRy
eVByb2Nlc3NpbmdSZXF1ZXN0KCk7CisgICAgICAgIH0pOworICAgIH0KK30KKwordm9pZCBXZWJQ
ZXJtaXNzaW9uQ29udHJvbGxlcjo6YWRkT2JzZXJ2ZXIoV2ViQ29yZTo6UGVybWlzc2lvbk9ic2Vy
dmVyJiBvYnNlcnZlcikKK3sKKyAgICBtX29ic2VydmVycy5hZGQob2JzZXJ2ZXIpOworfQorCit2
b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpyZW1vdmVPYnNlcnZlcihXZWJDb3JlOjpQZXJt
aXNzaW9uT2JzZXJ2ZXImIG9ic2VydmVyKQoreworICAgIG1fb2JzZXJ2ZXJzLnJlbW92ZShvYnNl
cnZlcik7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnBlcm1pc3Npb25DaGFu
Z2VkKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYgb3JpZ2luLCBjb25zdCBXZWJDb3JlOjpQ
ZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRl
IHN0YXRlKQoreworICAgIGZvciAoYXV0byYgb2JzZXJ2ZXIgOiBtX29ic2VydmVycykgeworICAg
ICAgICBpZiAob2JzZXJ2ZXIub3JpZ2luKCkgPT0gb3JpZ2luICYmIG9ic2VydmVyLmRlc2NyaXB0
b3IoKSA9PSBkZXNjcmlwdG9yKQorICAgICAgICAgICAgb2JzZXJ2ZXIuc3RhdGVDaGFuZ2VkKHN0
YXRlKTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlz
c2lvbkNvbnRyb2xsZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYzZkNTEwYzcxMGU1M2U5NmFjNmI0ODI1Nzdk
M2U0MjdhZGJiMWRkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmgKQEAgLTAsMCArMSw2NCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNz
aW9uQ29udHJvbGxlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGVybWlzc2lvbkRlc2NyaXB0b3Iu
aD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlBlcm1pc3Npb25Db250cm9sbGVy
IGZpbmFsIDogcHVibGljIFdlYkNvcmU6OlBlcm1pc3Npb25Db250cm9sbGVyIHsKK3B1YmxpYzoK
KyAgICBleHBsaWNpdCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcihXZWJQYWdlJik7CisKK3ByaXZh
dGU6CisgICAgLy8gV2ViQ29yZTo6UGVybWlzc2lvbkNvbnRyb2xsZXIKKyAgICBXZWJDb3JlOjpQ
ZXJtaXNzaW9uU3RhdGUgcXVlcnkoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlBl
cm1pc3Npb25EZXNjcmlwdG9yJiYpIGZpbmFsOworICAgIHZvaWQgcmVxdWVzdChXZWJDb3JlOjpD
bGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImJiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpPiYmKSBmaW5hbDsKKyAgICB2
b2lkIGFkZE9ic2VydmVyKFdlYkNvcmU6OlBlcm1pc3Npb25PYnNlcnZlciYpIGZpbmFsOworICAg
IHZvaWQgcmVtb3ZlT2JzZXJ2ZXIoV2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyJikgZmluYWw7
CisKKyAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgcXVlcnlDYWNoZShjb25zdCBXZWJDb3Jl
OjpDbGllbnRPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYpOwor
ICAgIHZvaWQgdXBkYXRlQ2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3Qg
V2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImLCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUp
OworICAgIHZvaWQgdHJ5UHJvY2Vzc2luZ1JlcXVlc3QoKTsKKyAgICB2b2lkIHBlcm1pc3Npb25D
aGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1p
c3Npb25EZXNjcmlwdG9yJiwgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKTsKKworICAgIFdlYWtQ
dHI8V2ViUGFnZT4gbV9wYWdlOworICAgIFdlYWtIYXNoU2V0PFdlYkNvcmU6OlBlcm1pc3Npb25P
YnNlcnZlcj4gbV9vYnNlcnZlcnM7CisKKyAgICB1c2luZyBQZXJtaXNzaW9uRW50cnkgPSBzdGQ6
OnBhaXI8V2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IsIFdlYkNvcmU6OlBlcm1pc3Npb25T
dGF0ZT47CisgICAgSGFzaE1hcDxXZWJDb3JlOjpDbGllbnRPcmlnaW4sIFZlY3RvcjxQZXJtaXNz
aW9uRW50cnk+PiBtX2NhY2hlZFBlcm1pc3Npb25FbnRyaWVzOworCisgICAgc3RydWN0IFBlcm1p
c3Npb25SZXF1ZXN0IHsKKyAgICAgICAgV2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdpbjsKKyAg
ICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcjsKKyAgICAgICAg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpPiBjb21wbGV0
aW9uSGFuZGxlcjsKKyAgICAgICAgYm9vbCBpc1dhaXRpbmdGb3JSZXBseSB7IGZhbHNlIH07Cisg
ICAgfTsKKyAgICBEZXF1ZTxQZXJtaXNzaW9uUmVxdWVzdD4gbV9yZXF1ZXN0czsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKaW5kZXggMDRlM2FlMjAxNDNmMmYzZGJkMjA2NGEzMDJmMDFiODRlZGNhOTY0
NS4uNzExZWQ4ZTkyMjc2ZWI5MzFmNTQ0NWM3NGZkNmMzYjBlOWViNTQxZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTEyMSw2ICsxMjEsNyBA
QAogI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGF5bWVu
dENvb3JkaW5hdG9yLmgiCiAjaW5jbHVkZSAiV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50Lmgi
CisjaW5jbHVkZSAiV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXZWJQbHVn
aW5JbmZvUHJvdmlkZXIuaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnUuaCIKICNpbmNsdWRlICJX
ZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgiCkBAIC01NjMsNyArNTY0LDggQEAgV2ViUGFnZTo6
V2ViUGFnZShQYWdlSWRlbnRpZmllciBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMm
JiBwYXJhbWV0ZXJzKQogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xpZW50
PihtX21haW5GcmFtZS5jb3B5UmVmKCkpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYlNwZWVj
aFJlY29nbml0aW9uUHJvdmlkZXI+KG1faWRlbnRpZmllciksCiAgICAgICAgIG1ha2VVbmlxdWVS
ZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPigqdGhpcyksCi0gICAgICAgIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLmJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSgpCisgICAgICAgIFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLmJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSgpLAorICAgICAgICBtYWtlVW5p
cXVlUmVmPFdlYlBlcm1pc3Npb25Db250cm9sbGVyPigqdGhpcykKICAgICApOwogICAgIHBhZ2VD
b25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoKnRoaXMpOwog
I2lmIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCmlu
ZGV4IGJiZjhkMWJiOGNlNmMzMDFkYzNlZjIwMTk1M2Q4MmZlYzA1ZWRkNTguLjU2YmM4MWM3OGYz
NGFhNDUzNDc5MzVkMjcxZWM1NzBjM2ZjN2VlNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9y
TWFjLmgKQEAgLTUwLDcgKzUwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIHN0YXJ0Tm90aWZpY2F0
aW9uTWVjaGFuaXNtKCkgZmluYWw7CiAgICAgdm9pZCBzdG9wTm90aWZpY2F0aW9uTWVjaGFuaXNt
KCkgZmluYWw7CiAKLSAgICB2b2lkIGFkanVzdFByZWZlcnJlZEZyYW1lc1BlclNlY29uZChGcmFt
ZXNQZXJTZWNvbmQpIGZpbmFsOworICAgIHZvaWQgYWRqdXN0UHJlZmVycmVkRnJhbWVzUGVyU2Vj
b25kKFdlYkNvcmU6OkZyYW1lc1BlclNlY29uZCkgZmluYWw7CiAKICAgICBEaXNwbGF5TGlua09i
c2VydmVySUQgbV9vYnNlcnZlcklEOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpSdW5M
b29wT2JzZXJ2ZXI+IG1fcnVuTG9vcE9ic2VydmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGNkNmE1ZjU3Mjk5NGY3ZWM0ZmJkZTc2MzdkZjg2N2Jk
NTJmM2M4MzQuLjQ4MDNlYmM5ZWM3N2U4OGUxNWIyOGUyYmVkYzE2ZDY3M2E3Mjg5Y2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTE5NSw2ICsxOTUs
NyBAQAogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2VDb25m
aWd1cmF0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhdGhVdGlsaXRpZXMuaD4KKyNpbXBvcnQg
PFdlYkNvcmUvUGVybWlzc2lvbkNvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZv
cm1FdmVudEZhY3RvcnlNYWMuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1TY3JlZW4uaD4K
ICNpbXBvcnQgPFdlYkNvcmUvUHJvZ3Jlc3NUcmFja2VyLmg+CkBAIC0xNTM2LDcgKzE1MzcsOCBA
QCBzdGF0aWMgdm9pZCBXZWJLaXRJbml0aWFsaXplR2FtZXBhZFByb3ZpZGVySWZOZWNlc3Nhcnko
KQogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xpZW50PigpLAogICAgICAg
ICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4o
KSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJvdmlkZXI+
KCksCi0gICAgICAgIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoW1tz
ZWxmIHByZWZlcmVuY2VzXSBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSkKKyAgICAgICAgV2ViQnJv
YWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShbW3NlbGYgcHJlZmVyZW5jZXNdIHBy
aXZhdGVCcm93c2luZ0VuYWJsZWRdKSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpE
dW1teVBlcm1pc3Npb25Db250cm9sbGVyPigpCiAgICAgKTsKICNpZiAhUExBVEZPUk0oSU9TX0ZB
TUlMWSkKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21l
Q2xpZW50KHNlbGYpOwpAQCAtMTgxNCw3ICsxODE2LDggQEAgc3RhdGljIHZvaWQgV2ViS2l0SW5p
dGlhbGl6ZUdhbWVwYWRQcm92aWRlcklmTmVjZXNzYXJ5KCkKICAgICAgICAgbWFrZVVuaXF1ZVJl
ZjxXZWJGcmFtZUxvYWRlckNsaWVudD4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3Jl
OjpEdW1teVNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+KCksCiAgICAgICAgIG1ha2VVbmlxdWVS
ZWY8V2ViQ29yZTo6TWVkaWFSZWNvcmRlclByb3ZpZGVyPigpLAotICAgICAgICBXZWJCcm9hZGNh
c3RDaGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZF0pCisgICAgICAgIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6
Z2V0T3JDcmVhdGUoW1tzZWxmIHByZWZlcmVuY2VzXSBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSks
CisgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6RHVtbXlQZXJtaXNzaW9uQ29udHJvbGxl
cj4oKQogICAgICk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdl
YkNocm9tZUNsaWVudElPUyhzZWxmKTsKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGYxMzVmZGMzMDk3NTYwOTc2ZGE4MDhjOTk4OWYwMDczYmM5MWQ0ZTkuLjg4YWJiMDNiNmI2ZjM4
MmUxYjMxNmJmOWJhYzJmM2NmNDA4NTI0MDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0w
OC0yNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3R1
YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0wOC0yNSAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENy
YXNoIGluIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tp
bmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDhhNjY1MGY4ODI4NDk5ODAyYTlk
MjBlZmU2OWI1NDMzN2I2NDRiOGYuLjM5YWUyOGY3NDQzYjRkNDNjMTE0NDc2OTEzZWRmZjQxMDM2
MDQ1YTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisy
MDIxLTA4LTI2ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBzdHVicyBmb3IgUGVybWlzc2lvbnMgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzMzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxo
YXJuZXNzLmFueS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bl
cm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMt
cXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVz
LW5hbWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVy
bWlzc2lvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1p
c3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dyb3VuZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQu
dHh0OgorCiAyMDIxLTA4LTI1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAg
ICAgICAgW01hYyB3azJdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9z
cy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3JlcG9ydGluZy10by1mcmFtZS1vd25lci5odHRwcy5o
dG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNmJkZTJmOTRlYWQy
MTdiODY0NDMyNTcxOGMxZjRjNjIxMWYyNzY3MC4uOGJjOTM2OGQ4YThlZDI4YmFhYTU0MTNkYmY4
YWJmMmMxNmZkMTkxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xOTYsNiArMTk2LDcgQEAgZmFz
dC9zcGVlY2hyZWNvZ25pdGlvbi9wZXJtaXNzaW9uLWVycm9yLmh0bWwgWyBTa2lwIF0KIGZhc3Qv
c3BlZWNocmVjb2duaXRpb24vc3RhcnQtcmVjb2duaXRpb24tdGhlbi1zdG9wLmh0bWwgWyBTa2lw
IF0KIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vc3RhcnQtc2Vjb25kLXJlY29nbml0aW9uLmh0bWwg
WyBTa2lwIF0KIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vaW9zLyBbIFNraXAgXQoraW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy8gWyBTa2lwIF0KIAogIyBhcHAtcHJp
dmFjeS1yZXBvcnQgdGVzdHMgcmVseSBvbiBXZWJLaXRBZGRpdGlvbnMKIGh0dHAvdGVzdHMvYXBw
LXByaXZhY3ktcmVwb3J0LyBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bl
cm1pc3Npb25zL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dAppbmRleCBiODRkNDBkNzY1ZjIw
NDA4M2RlZjhiNjc3MDBjNDIwNDRiMDM0Njk4Li4wYzRiYWEwY2ZlZTAxZjk0Y2VhZjRhZjdmYjM4
Zjg5YjRmYjZiYmU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25z
L2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dApAQCAtMTksMjkgKzE5LDI5IEBAIFBBU1MgV29y
a2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1
ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJl
ciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0
b3JPbkxpbmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBp
bmNsdWRlcyBOYXZpZ2F0b3JDb25jdXJyZW50SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0
eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJt
aXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9i
amVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3Rh
dHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1
cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0
YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwg
UGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lv
blN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZB
SUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3Rh
dHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQ
ZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlIGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0
dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBl
cm1pc3Npb25TdGF0dXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBwZXJtaXNzaW9uU3Rh
dHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBv
YmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0
IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBv
ZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdo
ZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBl
cm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAic3RhdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhw
ZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQg
Z290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Np
b25TdGF0dXMiCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3Rh
dHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBl
IGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmpl
Y3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMi
IGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9u
cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBl
cm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbmFt
ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQ
ZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlM
IFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlz
c2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3Ii
IHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3Np
bmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1p
c3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVy
bWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2JqZWN0KSBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhw
ZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zIGFzc2VydF9l
cXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5k
ZWZpbmVkIgotRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zIGFz
c2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdv
dCAidW5kZWZpbmVkIgotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG5hdmlnYXRvci5wZXJt
aXNzaW9ucyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInF1ZXJ5KG9iamVjdCkiIHdpdGggdGhlIHBy
b3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9i
amVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGNh
bGxpbmcgcXVlcnkob2JqZWN0KSBvbiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgd2l0aCB0b28gZmV3
IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBl
b2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgTmF2
aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIHBlcm1pc3Npb25zIGFzc2VydF90cnVlOiBUaGUg
cHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAicGVybWlzc2lvbnMiIGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IG5hdmlnYXRvciBt
dXN0IGluaGVyaXQgcHJvcGVydHkgInBlcm1pc3Npb25zIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBh
c3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJwZXJtaXNzaW9ucyIgbm90IGZvdW5kIGluIHByb3Rv
dHlwZSBjaGFpbgorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBp
bnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBv
YmplY3QgbmFtZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Np
b25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Np
b25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1pc3Np
b25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3RhdGUKK1BBU1MgUGVybWlzc2lvblN0YXR1
cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNoYW5nZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgcGVybWlzc2lvblN0YXR1cworUEFTUyBTdHJpbmdp
ZmljYXRpb24gb2YgcGVybWlzc2lvblN0YXR1cworUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0YXRlIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlz
c2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY2hhbmdlIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmpl
Y3QgbGVuZ3RoCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQ
ZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1
Y3RvciIgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVz
IHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5KG9i
amVjdCkKK1BBU1MgUGVybWlzc2lvbnMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZp
Z2F0b3IucGVybWlzc2lvbnMKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5wZXJt
aXNzaW9ucworUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG5hdmlnYXRvci5wZXJtaXNzaW9u
cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInF1ZXJ5KG9iamVjdCkiIHdpdGggdGhlIHByb3BlciB0
eXBlCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogY2FsbGluZyBxdWVyeShvYmplY3QpIG9u
IG5hdmlnYXRvci5wZXJtaXNzaW9ucyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cg
VHlwZUVycm9yCitQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwZXJtaXNzaW9u
cworUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBuYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJwZXJtaXNzaW9ucyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxo
YXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0CmluZGV4IDUyNTYwMmQxNmQ3ZjBmNTRjYThlZjAzZjdmY2Y1YjRlZWVmMzE2OTcu
LjA2MmIyOTU3ZjMxNTUxYjM1MmE0OTU0MTZjM2Y0YWJmYTU3OTllNmUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRs
aGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKQEAgLTE5LDI1ICsxOSwyNSBAQCBQQVNTIFdvcmtlck5hdmlnYXRvciBp
bmNsdWRlcyBOYXZpZ2F0b3JJRDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2Vy
TmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckxhbmd1YWdlOiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yT25MaW5lOiBtZW1i
ZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdh
dG9yQ29uY3VycmVudEhhcmR3YXJlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQotRkFJTCBQZXJt
aXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25T
dGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IGxl
bmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIg
bWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNz
aW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwot
RkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVk
IHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0
dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVj
dGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25T
dGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3RhdGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQg
cHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1
cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNoYW5nZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBw
cm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZworUEFTUyBQZXJtaXNzaW9uU3RhdHVz
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QK
K1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQZXJt
aXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVz
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3Ii
IHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVz
IHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3Rh
dGUKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNoYW5nZQog
RkFJTCBQZXJtaXNzaW9uU3RhdHVzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgcGVybWlz
c2lvblN0YXR1cyBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1
YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9y
OiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgogRkFJTCBTdHJpbmdpZmlj
YXRpb24gb2YgcGVybWlzc2lvblN0YXR1cyBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2Vw
dGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3Qg
IlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgog
RkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgInN0YXRlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxz
OiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51
bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBw
ZXJtaXNzaW9uU3RhdHVzIgogRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlz
c2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY2hhbmdlIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRp
bmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgotRkFJTCBQZXJtaXNzaW9ucyBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1p
c3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVy
bWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3Bl
cnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2Jq
ZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2lu
ZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkg
IlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0
cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25z
IiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1G
QUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5KG9iamVjdCkgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lv
bnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZworUEFTUyBQZXJtaXNz
aW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2Jq
ZWN0CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1p
c3Npb25zIGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAor
UEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1Mg
UGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1p
c3Npb25zIGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5KG9iamVjdCkKIEZBSUwgUGVybWlzc2lv
bnMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgYXNz
ZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290
ICJ1bmRlZmluZWQiCiBGQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuYXZpZ2F0b3IucGVybWlzc2lv
bnMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBi
dXQgZ290ICJ1bmRlZmluZWQiCiBGQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogbmF2aWdhdG9y
LnBlcm1pc3Npb25zIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVlcnkob2JqZWN0KSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3Rl
ZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CmluZGV4IGMzZTg2MDVm
ODcyODdhODAzODFmNWRiODA2Y2RkMDVhMjU1NjVkZGUuLmMyZmQ2NWU4ZDQwMDJhNzIzMDE4N2E2
MWY1MWMyODJlZmMxYzZiZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlz
c2lvbnMvbmZjLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlM
IFRlc3QgV2ViIE5GQyBQZXJtaXNzaW9uLiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykKK1BBU1MgVGVzdCBXZWIgTkZD
IFBlcm1pc3Npb24uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xp
Y3ktYXR0cmlidXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLXF1ZXJ5LWZl
YXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0ZWQudHh0CmluZGV4IGU0MmRk
YTI2MTJmMjU3YjdmMDJiYmVlZjY1NjMzYjI1YjczNjQ3YTUuLmM0YmEyNDkyZTk5MTk5ZDY2NjA1
YThjMDFhYTAxNTFiOTYyNDYwNzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVy
ZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9u
cy1xdWVyeS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dApA
QCAtMSw2ICsxLDYgQEAKIAotRkFJTCBQZXJtaXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRo
IGFsbG93PSJnZW9sb2NhdGlvbiIgaW4gc2FtZS1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFs
czogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkIChz
dHJpbmcpICJwcm9tcHQiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAotRkFJTCBQZXJtaXNzaW9ucy5z
dGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93PSJnZW9sb2NhdGlvbiIgaW4gY3Jvc3Mtb3JpZ2lu
IGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2Vv
bG9jYXRpb24iKSBleHBlY3RlZCAoc3RyaW5nKSAicHJvbXB0IiBidXQgZ290IChvYmplY3QpIG51
bGwKLUZBSUwgUGVybWlzc2lvbi5zdGF0ZSBpcyAicHJvbXB0IiBpbiBzYW1lLW9yaWdpbiBpZnJh
bWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0
aW9uIikgZXhwZWN0ZWQgKHN0cmluZykgInByb21wdCIgYnV0IGdvdCAob2JqZWN0KSBudWxsCi1G
QUlMIFBlcm1pc3Npb24uc3RhdGUgaXMgImRlbmllZCIgaW4gY3Jvc3Mtb3JpZ2luIGlmcmFtZXMu
IGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9jYXRpb24i
KSBleHBlY3RlZCAoc3RyaW5nKSAiZGVuaWVkIiBidXQgZ290IChvYmplY3QpIG51bGwKK1BBU1Mg
UGVybWlzc2lvbnMuc3RhdGUgaXMgInByb21wdCIgd2l0aCBhbGxvdz0iZ2VvbG9jYXRpb24iIGlu
IHNhbWUtb3JpZ2luIGlmcmFtZXMuCitQQVNTIFBlcm1pc3Npb25zLnN0YXRlIGlzICJwcm9tcHQi
IHdpdGggYWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBjcm9zcy1vcmlnaW4gaWZyYW1lcy4KK1BBU1Mg
UGVybWlzc2lvbi5zdGF0ZSBpcyAicHJvbXB0IiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLgorRkFJ
TCBQZXJtaXNzaW9uLnN0YXRlIGlzICJkZW5pZWQiIGluIGNyb3NzLW9yaWdpbiBpZnJhbWVzLiBh
c3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikg
ZXhwZWN0ZWQgImRlbmllZCIgYnV0IGdvdCAicHJvbXB0IgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Np
b25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVj
dGVkLnR4dAppbmRleCAxMWZiMWEwZDYxMjRkYTk0ZTAwMWU3ZGQ5MjNlMDE3Y2U2OWU3OGJhLi4w
ZTRlYmNjNDdjY2I5Mzg5MDhlY2U4NGNjNjhmMTUzZDA4NTM3OWE2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1p
c3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNzdGF0dXMtbmFt
ZS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCBQZXJtaXNzaW9uU3Rh
dHVzJ3MgbmFtZSBhdHRyaWJ1dGUuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeScpIgorUEFTUyBUZXN0IFBl
cm1pc3Npb25TdGF0dXMncyBuYW1lIGF0dHJpYnV0ZS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9zY3JlZW4td2Fr
ZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Np
b24tZXhwZWN0ZWQudHh0CmluZGV4IDg1YzdiYmE1YzJiMjQ1OTNmNTFlMjE0NmJlMjViZDE2ZmEw
NWZmNTguLjhlMGU3MDJkMWYyZGQ0OGNhNjk5OWNhNWZiOTRlNTEyYTY0NWJlOWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lv
bnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13
YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwg
VGVzdCAic2NyZWVuLXdha2UtbG9jayIgUGVybWlzc2lvbi4gcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5Jyki
CitQQVNTIFRlc3QgInNjcmVlbi13YWtlLWxvY2siIFBlcm1pc3Npb24uCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
dGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tn
cm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXggOWE5NDI2OWZiNzQzOGZj
NjNiZTE4ZDAwY2QyOTk3Y2M1OWJhOGRkNi4uNzg1YmI1ODVmNTE1OTVmZGVhMDUyMzQxNjcyMzgx
M2M4ZGIyMzE1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3Rl
ZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCBCYWNrZ3JvdW5kIEZldGNoIFBlcm1p
c3Npb24uIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3Iu
cGVybWlzc2lvbnMucXVlcnknKQorUEFTUyBUZXN0IEJhY2tncm91bmQgRmV0Y2ggUGVybWlzc2lv
bi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1wZXJtaXNzaW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQKaW5kZXggMzE2ZDM1MWEwZTA3NTRiMWU1MDliZjNjYTBhZGE0YjY0ZGUzNTZh
Ny4uNGU5ZjM3YTg3NTZlYjE3YTJmYjg0ZjExNzAyYTE0M2E4NmI3MDk5YiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90
ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25z
L3Rlc3QtcGVyaW9kaWMtYmFja2dyb3VuZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgUGVyaW9kaWMgQmFja2dyb3VuZCBTeW5jIFBlcm1p
c3Npb24uIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25h
dmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeScpIgorRkFJTCBUZXN0IFBlcmlvZGljIEJhY2tncm91
bmQgU3luYyBQZXJtaXNzaW9uLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5v
LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9k
b20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCBkZjkwMTA5
MDRkNTc3ZTg1YTA3NjY2N2E5MzdhZDc3ZTZkOGY1OTU3Li5jNjhkM2NhMGIzMGNkY2VlN2RlMWVi
N2JlNDEzNjlhMGJlZGI4M2JhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNo
ZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xOCw2ICsxOCw3IEBAIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcyBpcyBPSwogbmF2aWdhdG9yLm1lZGlhU2Vzc2lvbiBpcyBPSwogbmF2aWdh
dG9yLm1pbWVUeXBlcyBpcyBPSwogbmF2aWdhdG9yLm9uTGluZSBpcyBPSworbmF2aWdhdG9yLnBl
cm1pc3Npb25zIGlzIE9LCiBuYXZpZ2F0b3IucGxhdGZvcm0gaXMgT0sKIG5hdmlnYXRvci5wbHVn
aW5zIGlzIE9LCiBuYXZpZ2F0b3IucHJvZHVjdCBpcyBPSwpAQCAtNTEsNiArNTIsNyBAQCBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgaXMgT0sKIG5hdmlnYXRvci5tZWRpYVNlc3Npb24gaXMg
T0sKIG5hdmlnYXRvci5taW1lVHlwZXMgaXMgT0sKIG5hdmlnYXRvci5vbkxpbmUgaXMgT0sKK25h
dmlnYXRvci5wZXJtaXNzaW9ucyBpcyBPSwogbmF2aWdhdG9yLnBsYXRmb3JtIGlzIE9LCiBuYXZp
Z2F0b3IucGx1Z2lucyBpcyBPSwogbmF2aWdhdG9yLnByb2R1Y3QgaXMgT0sKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNmNlZTBmYTJkNGQ1ZGZmNmI5ZDYx
ODI3ZWVlM2U5MTRkOTc5Yjk0NS4uNDA4YzhiNDFiYzQzY2ExYjMzZjA2NDc5MTBhMmJhNWM2NjMz
NmRiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTg2
MCw0ICs4NjAsNSBAQCBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3Blcm1pc3Npb24tZXJyb3IuaHRt
bCBbIFBhc3MgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1yZWNvZ25pdGlvbi10aGVu
LXN0b3AuaHRtbCBbIFBhc3MgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1zZWNvbmQt
cmVjb2duaXRpb24uaHRtbCBbIFBhc3MgXQogZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1lbnRlci13
aGlsZS1leGl0aW5nLmh0bWwgWyBQYXNzIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvIFsgUGFzcyBdCiAK
</data>
<flag name="commit-queue"
          id="459624"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436566</attachid>
            <date>2021-08-26 14:20:11 -0700</date>
            <delta_ts>2021-08-26 15:19:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210826142010.patch</filename>
            <type>text/plain</type>
            <size>122984</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLjAwYTQ0NjI0ZDI5YWZhNmM4YmNjZTcxM2MyZWU4N2U5Zjc5NTk4
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIxLTA4LTI1
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92
ZSBzb21lIGlPUy1zcGVjaWZpYyBjb21waWxlLXRpbWUgZ3VhcmRzIHRoYXQgYXJlIG5vIGxvbmdl
ciBuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYTkzNTJkZDhlZjlkY2Q5NWZiZDY3MTJiNTRlYjRlZWZm
ZWQyNWMyLi5kODI4YTAwNWQ2NDhiMDgxOWJhMGI5OTdiY2FhMGY1N2I5MjkyNzVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNjkgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiaW5kaW5ncyBj
b2RlIGFuZCBhIGZlYXR1cmUgZmxhZyBmb3IgUGVybWlzc2lvbnMgQVBJLgorICAgICAgICBTcGVj
OiBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLiBSZWJhc2VsaW5lIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9kdWxlcy9w
ZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAg
ICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6b3BlcmF0b3I9
PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yOjpkZWNvZGUp
OgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmg6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZl
ci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OlBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6flBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6c3RhdGVDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUg
Y29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uczo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpQZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJtaXNzaW9uczo6bmF2aWdhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25z
OjpxdWVyeSk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbDogQWRk
ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIGRv
bS9UYXNrU291cmNlLmg6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMpOgorICAgICAg
ICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX3Blcm1pc3Npb25Db250cm9s
bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnBlcm1pc3Npb25Db250cm9sbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Om1faHR0cHNVcGdyYWRlRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
ICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24pOgor
ICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKKwogMjAyMS0wOC0yNSAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGlu
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggNDI0MWIyZTZmYTc4NTRmMTVmZDMzYzZjYTljN2ZlYjM3YmMxZGIyMS4uMDM2Yzkz
YjFjMmI5YzE0NzkwZTI1OTVmM2IyOGVmZWVlODRmNGMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MyBAQAorMjAyMS0wOC0yNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2V0IHVwIGJhc2ljIGluZnJhc3RyY3R1cmUgb2Yg
cGVybWlzc2lvbiBnZXR0aW5nIGFuZCBzZXR0aW5nLgorCisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBl
cm1pc3Npb25Db250cm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRy
b2xsZXI6OnF1ZXJ5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6
OnJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVl
cnlDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRh
dGVDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQ
cm9jZXNzaW5nUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjphZGRPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjpyZW1vdmVPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250
cm9sbGVyOjpwZXJtaXNzaW9uQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fYXBwSGlnaGxp
Z2h0c1Zpc2libGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFjLmg6CisKIDIwMjEtMDgtMjYgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25v
cmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW2N1cmxdIFJFR1JFU1NJT04ocjI4MTE1OCk6
IGZldGNoKCdodHRwOi8vbG9jYWxob3N0LycpIGZyb20gYWJvdXQ6YmxhbmsgZG9lc24ndCBlbWl0
IHRoZSBjb25zb2xlIGVycm9yIG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRl
eCA0NWE1NDg2ZTA1ODA1ZDk3YmMxZTQ4YjQ0ZjkzZGEzMDMyOGE2YTFkLi5mZjc3YjQ5NWE4MmVj
OTI4MzQ5MTU4NGQ2MWFkZDJkZjA5NDg5NzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5h
bWU6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IGluaXRTaW1wbGVIVE1MRG9jdW1l
bnRXaXRoU3R5bGU6ZnJhbWU6cHJlZmVyZW5jZXM6Z3JvdXBOYW1lOl0pOgorCiAyMDIxLTA4LTI0
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gSW1wbGVt
ZW50IHByb2Nlc3Mtc3dhcHBpbmcgYmFzZWQgb24gQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xpY3kg
SFRUUCBoZWFkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9X
ZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZl
cmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXggMTg1YTVhYzBmNDU0
Yzc2YzAzNDc5MmFkMTg1NzYxZmNjYTY5NDk5MS4uNTU1NDYwMGRiYzY2NThmYTFjYWIyZDA1OGNk
NTM1ZGFmNTI5MzFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2Vz
L1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKQEAgLTg4MSw2ICs4
ODEsMTggQEAgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ1NlbnNpdGl2ZVByb3BlcnRpZXNFbmFi
bGVkOgogICAgIFdlYkNvcmU6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogCitQZXJtaXNzaW9uc0FQ
SUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJQZXJtaXNzaW9u
cyBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQZXJtaXNzaW9ucyBB
UEkiCisgIGRlZmF1bHRWYWx1ZToKKyAgICBXZWJLaXRMZWdhY3k6CisgICAgICBkZWZhdWx0OiBm
YWxzZQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViQ29yZToKKyAg
ICAgIGRlZmF1bHQ6IGZhbHNlCisKIFByaXZhdGVDbGlja01lYXN1cmVtZW50RGVidWdNb2RlRW5h
YmxlZDoKICAgdHlwZTogYm9vbAogICBodW1hblJlYWRhYmxlTmFtZTogIlByaXZhdGUgQ2xpY2sg
TWVhc3VyZW1lbnQgRGVidWcgTW9kZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYmJiODQyYTUz
OWExMDg3YzllMWRiNDYzZDAxOWRkMmIxMjMxNDJjOS4uMDdlNWUwNTU4ZjZkZGQ0MTFlYzRjZjU5
NmRlMzQzZjQ4M2MwOTc3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ4LDYgKzQ4LDcgQEAg
c2V0KFdlYkNvcmVfUFJJVkFURV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9E
SVJ9L01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzIgogICAgICIke1dFQkNPUkVfRElSfS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QiCisgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGVybWlzc2lvbnMiCiAgICAg
IiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGljdHVyZWlucGljdHVyZSIKICAgICAiJHtXRUJDT1JF
X0RJUn0vTW9kdWxlcy9wbHVnaW5zIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3JlbW90
ZXBsYXliYWNrIgpAQCAtMjAxLDYgKzIwMiw3IEBAIHNldChXZWJDb3JlX0lETF9JTkNMVURFUwog
ICAgIE1vZHVsZXMvbW9kZWwtZWxlbWVudAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucwogICAg
IE1vZHVsZXMvcGF5bWVudHJlcXVlc3QKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zCiAgICAgTW9k
dWxlcy9zcGVlY2gKICAgICBNb2R1bGVzL3N0cmVhbXMKICAgICBNb2R1bGVzL3dlYmF1ZGlvCkBA
IC00NjAsNiArNDYyLDEzIEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdUeXBlLmlkbAogICAgIE1vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFZhbGlkYXRpb25FcnJvcnMuaWRsCiAKKyAgICBNb2R1bGVz
L3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwKKyAgICBNb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbk5hbWUuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3Rh
dGUuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbAorICAg
IE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCisKICAgICBNb2R1bGVzL3BpY3R1
cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGljdHVyZUluUGljdHVyZS5pZGwKICAgICBNb2R1bGVzL3Bp
Y3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGljdHVyZUluUGljdHVyZS5pZGwK
ICAgICBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQu
aWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApp
bmRleCAzOWIyYjMwMDRlNGM1Nzk0MzdlNjVhY2E5NzMyN2M3OGQ0ZDc0NWRlLi41MTFiNTEzMTIw
MGFiZWM4M2JlNDkwN2E3YmU0MTkyM2E2MmYzNjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTM4OCw2ICszODgsMTIgQEAgJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ09wdGlvbi5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5n
VHlwZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFZh
bGlkYXRpb25FcnJvcnMuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL05h
dmlnYXRvcitQZXJtaXNzaW9ucy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25zLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9waWN0dXJlaW5waWN0
dXJlL0RvY3VtZW50K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGljdHVyZUluUGljdHVyZS5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9FbnRlclBpY3R1cmVJ
blBpY3R1cmVFdmVudC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3QKaW5kZXggMTk2NzFmNzUwNmQ2YTc5Mzc0YzVlYTQ1YWM3NzFmYzdmMWI3
OTUyYi4uOWI0ODRhYmE0OGMyYzVjZmM2MGFjZWVlYzI5M2ViY2E5YzM5NzFlYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTEzNzcs
NiArMTM3Nyw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTmF2aWdhdG9yK01lZGlhRGV2aWNlcy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhRGV2aWNlcy5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitNZWRpYVNlc3Np
b24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05h
dmlnYXRvcitNZWRpYVNlc3Npb24uaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrUGVybWlzc2lvbnMuY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitQZXJtaXNzaW9ucy5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitX
ZWJEcml2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU05hdmlnYXRvcitXZWJEcml2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViWFIuY3BwCkBAIC0xNTgzLDYgKzE1ODUsMTYg
QEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2Rp
Y1dhdmVDb25zdHJhaW50cy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2RpY1dhdmVPcHRpb25zLmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2RpY1dhdmVP
cHRpb25zLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UGVybWlzc2lvbkRlc2NyaXB0b3IuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbk5hbWUuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25OYW1lLmgK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lv
blN0YXRlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNQZXJtaXNzaW9uU3RhdGUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdHVzLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdHVzLmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbnMuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25zLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGljdHVyZUluUGlj
dHVyZVdpbmRvdy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUGljdHVyZUluUGljdHVyZVdpbmRvdy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BsYXliYWNrRGlyZWN0aW9uLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKaW5kZXggZDY0ZTY1ZTg2ZTVlMTE0MjY2N2E5ZTM4Mjc2ODNhOTY5MmYy
N2FmMS4uZjllZTY0MjhiYTBhNTRkNTRjMDI1N2FhNmQ2YTAwMDFlMmU0MjFiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zMjQsNiArMzI0LDEyIEBAIEpTX0JJTkRJTkdfSURM
UyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlw
cGluZ09wdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50U2hpcHBpbmdUeXBlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwgXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50T3JTaGFkb3dSb290K1Bp
Y3R1cmVJblBpY3R1cmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlucGlj
dHVyZS9Eb2N1bWVudCtQaWN0dXJlSW5QaWN0dXJlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuaWRsIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9I
ZWFkZXJzLmNtYWtlCmluZGV4IGViMDdiODBjOTkzM2Q2OWE4YzM2MzE5MThjNzVkYmU0ZTM3YTky
YjguLjg4MjQ3ZTQ0Y2I1Zjg3OWZkYjMzZDM3YTcwMzkyZmUyNTU3ODkzNzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQpAQCAtMTI5LDYgKzEyOSwxMCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09S
S19IRUFERVJTCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Np
b24uaAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaAogCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uQ29udHJvbGxlci5o
CisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oCisgICAgTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uT2JzZXJ2ZXIuaAorCiAgICAgTW9kdWxlcy9wbHVn
aW5zL1BsdWdpblJlcGxhY2VtZW50LmgKICAgICBNb2R1bGVzL3BsdWdpbnMvWW91VHViZVBsdWdp
blJlcGxhY2VtZW50LmgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwYjEy
N2U3ZjNhMWM1NjY2Y2QwZDBjODhmZTkxMWU5NmM4MzRmNjUKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5p
ZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5p
by9wZXJtaXNzaW9ucy8jbmF2aWdhdG9yLWFuZC13b3JrZXJuYXZpZ2F0b3ItZXh0ZW5zaW9uCisK
K1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorICAgIEltcGxlbWVudGVk
Qnk9TmF2aWdhdG9yUGVybWlzc2lvbnMKK10gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsK
KyAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFBlcm1pc3Npb25zIHBlcm1pc3Np
b25zOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMv
TmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkxZjU1NTg4NmQ4ZTcx
YTM0OWVlNzViZjNjNDE2ZjAyZjFjNDdhYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwCkBAIC0wLDAg
KzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF2
aWdhdG9yUGVybWlzc2lvbnMuaCIKKworI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1ZGUg
IlBlcm1pc3Npb25zLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTmF2aWdhdG9yUGVybWlz
c2lvbnM6Ok5hdmlnYXRvclBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9yKQorICAgIDog
bV9uYXZpZ2F0b3IobmF2aWdhdG9yKQoreworfQorCitSZWZQdHI8UGVybWlzc2lvbnM+IE5hdmln
YXRvclBlcm1pc3Npb25zOjpwZXJtaXNzaW9ucyhOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAg
ICByZXR1cm4gTmF2aWdhdG9yUGVybWlzc2lvbnM6OmZyb20obmF2aWdhdG9yKS0+cGVybWlzc2lv
bnMoKTsKK30KKworUmVmUHRyPFBlcm1pc3Npb25zPiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6cGVy
bWlzc2lvbnMoKQoreworICAgIGlmICghbV9wZXJtaXNzaW9ucykKKyAgICAgICAgbV9wZXJtaXNz
aW9ucyA9IFBlcm1pc3Npb25zOjpjcmVhdGUobV9uYXZpZ2F0b3IpOworCisgICAgcmV0dXJuIG1f
cGVybWlzc2lvbnM7Cit9CisKK05hdmlnYXRvclBlcm1pc3Npb25zKiBOYXZpZ2F0b3JQZXJtaXNz
aW9uczo6ZnJvbShOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICBhdXRvKiBzdXBwbGVtZW50
ID0gc3RhdGljX2Nhc3Q8TmF2aWdhdG9yUGVybWlzc2lvbnMqPihTdXBwbGVtZW50PE5hdmlnYXRv
cj46OmZyb20oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSkpOworICAgIGlmICghc3VwcGxl
bWVudCkgeworICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVlPE5hdmlnYXRv
clBlcm1pc3Npb25zPihuYXZpZ2F0b3IpOworICAgICAgICBzdXBwbGVtZW50ID0gbmV3U3VwcGxl
bWVudC5nZXQoKTsKKyAgICAgICAgcHJvdmlkZVRvKCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnROYW1l
KCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOworICAgIH0KKworICAgIHJldHVybiBzdXBwbGVt
ZW50OworfQorCitjb25zdCBjaGFyKiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6c3VwcGxlbWVudE5h
bWUoKQoreworICAgIHJldHVybiAiTmF2aWdhdG9yUGVybWlzc2lvbnMiOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBhNzM5ZGE3MTQ0
MGM3YTMzYjIzMmNhZTk4MzUyMDE5ZmRhNDQ0YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaApAQCAtMCww
ICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJTdXBwbGVt
ZW50YWJsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmlnYXRvcjsKK2Ns
YXNzIFBlcm1pc3Npb25zOworCitjbGFzcyBOYXZpZ2F0b3JQZXJtaXNzaW9ucyBmaW5hbCA6IHB1
YmxpYyBTdXBwbGVtZW50PE5hdmlnYXRvcj4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworcHVibGljOgorICAgIGV4cGxpY2l0IE5hdmlnYXRvclBlcm1pc3Npb25zKE5hdmlnYXRvciYp
OworCisgICAgc3RhdGljIFJlZlB0cjxQZXJtaXNzaW9ucz4gcGVybWlzc2lvbnMoTmF2aWdhdG9y
Jik7CisgICAgUmVmUHRyPFBlcm1pc3Npb25zPiBwZXJtaXNzaW9ucygpOworCitwcml2YXRlOgor
ICAgIHN0YXRpYyBOYXZpZ2F0b3JQZXJtaXNzaW9ucyogZnJvbShOYXZpZ2F0b3ImKTsKKyAgICBz
dGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKKworICAgIFJlZlB0cjxQZXJtaXNz
aW9ucz4gbV9wZXJtaXNzaW9uczsKKyAgICBOYXZpZ2F0b3ImIG1fbmF2aWdhdG9yOworfTsKKwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uQ29udHJvbGxlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExNzlkZjQzOWEwZmMxOWU2MmQ3MzFlNGE2
MDMyODA1MzM0NzYwODIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgKQEAgLTAsMCArMSw1NCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVybWlzc2lvbk9ic2VydmVyLmgi
CisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXRlLmgiCisjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25I
YW5kbGVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVybWlzc2lvbk9ic2Vy
dmVyOworc3RydWN0IFBlcm1pc3Npb25EZXNjcmlwdG9yOworCitjbGFzcyBQZXJtaXNzaW9uQ29u
dHJvbGxlciA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIHZpcnR1YWwgflBlcm1p
c3Npb25Db250cm9sbGVyKCkgPSBkZWZhdWx0OworICAgIHZpcnR1YWwgUGVybWlzc2lvblN0YXRl
IHF1ZXJ5KENsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHJlcXVlc3QoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlwdG9y
JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUGVybWlzc2lvblN0YXRlKT4mJikgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBhZGRPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHJlbW92ZU9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpID0gMDsKK307
CisKK2NsYXNzIER1bW15UGVybWlzc2lvbkNvbnRyb2xsZXIgZmluYWwgOiBwdWJsaWMgUGVybWlz
c2lvbkNvbnRyb2xsZXIgeworICAgIFBlcm1pc3Npb25TdGF0ZSBxdWVyeShDbGllbnRPcmlnaW4m
JiwgUGVybWlzc2lvbkRlc2NyaXB0b3ImJikgZmluYWwgeyByZXR1cm4gUGVybWlzc2lvblN0YXRl
OjpEZW5pZWQ7IH0KKyAgICB2b2lkIHJlcXVlc3QoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25E
ZXNjcmlwdG9yJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUGVybWlzc2lvblN0YXRlKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikgZmluYWwgeyBjb21wbGV0aW9uSGFuZGxlcihQZXJtaXNzaW9uU3Rh
dGU6OkRlbmllZCk7IH0KKyAgICB2b2lkIGFkZE9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYp
IGZpbmFsIHsgfQorICAgIHZvaWQgcmVtb3ZlT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikg
ZmluYWwgeyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNGU4NGIyZDRjNzdhOThlOTViNjY0OThkYzRkMGIzOGE5MDg5ZTFlNQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvbkRlc2NyaXB0b3IuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlICJQZXJtaXNzaW9uTmFtZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK3N0cnVjdCBQZXJtaXNzaW9uRGVzY3JpcHRvciB7CisgICAgUGVybWlzc2lvbk5hbWUgbmFt
ZTsKKworICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVz
Y3JpcHRvcikgY29uc3QgeyByZXR1cm4gbmFtZSA9PSBkZXNjcmlwdG9yLm5hbWU7IH0KKyAgICB0
ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAg
dGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8UGVybWlzc2lvbkRl
c2NyaXB0b3I+IGRlY29kZShEZWNvZGVyJik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVy
PiBpbmxpbmUgdm9pZCBQZXJtaXNzaW9uRGVzY3JpcHRvcjo6ZW5jb2RlKEVuY29kZXImIGVuY29k
ZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBuYW1lOworfQorCit0ZW1wbGF0ZTxjbGFzcyBE
ZWNvZGVyPiBzdGQ6Om9wdGlvbmFsPFBlcm1pc3Npb25EZXNjcmlwdG9yPiBQZXJtaXNzaW9uRGVz
Y3JpcHRvcjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAgUGVybWlzc2lvbkRlc2Ny
aXB0b3IgcmVzdWx0OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm5hbWUpKQorICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZjM2
YTMyYTJjY2NkMzM5OTM5YjdkZTgzNWRmZWRiYmY0ZjU3Y2M4Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5p
ZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5p
by9wZXJtaXNzaW9ucy8jZGljdGRlZi1wZXJtaXNzaW9uZGVzY3JpcHRvcgorCitbCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKK10gZGljdGlvbmFyeSBQZXJtaXNzaW9uRGVz
Y3JpcHRvciB7CisgICAgcmVxdWlyZWQgUGVybWlzc2lvbk5hbWUgbmFtZTsKK307CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNWM5OTMxZmQ4NDM4ZDM0MzAxNmYxMWQyZWU0YzU3MzkzZGFkOGUxMAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bk5hbWUuaApAQCAtMCwwICsxLDc5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBQZXJtaXNzaW9uTmFtZSA6IHVpbnQ4X3Qg
eworICAgIEFjY2VsZXJvbWV0ZXIsCisgICAgQW1iaWVudExpZ2h0U2Vuc29yLAorICAgIEJhY2tn
cm91bmRGZXRjaCwKKyAgICBCYWNrZ3JvdW5kU3luYywKKyAgICBCbHVldG9vdGgsCisgICAgQ2Ft
ZXJhLAorICAgIERpc3BsYXlDYXB0dXJlLAorICAgIEdlb2xvY2F0aW9uLAorICAgIEd5cm9zY29w
ZSwKKyAgICBNYWduZXRvbWV0ZXIsCisgICAgTWljcm9waG9uZSwKKyAgICBNaWRpLAorICAgIE5m
YywKKyAgICBOb3RpZmljYXRpb25zLAorICAgIFBlcnNpc3RlbnRTdG9yYWdlLAorICAgIFB1c2gs
CisgICAgU2NyZWVuV2FrZUxvY2ssCisgICAgU3BlYWtlclNlbGVjdGlvbgorfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3Qg
RW51bVRyYWl0czxXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZT4geworICAgIHVzaW5nIHZhbHVlcyA9
IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lLAorICAgICAgICBX
ZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6QWNjZWxlcm9tZXRlciwKKyAgICAgICAgV2ViQ29yZTo6
UGVybWlzc2lvbk5hbWU6OkFtYmllbnRMaWdodFNlbnNvciwKKyAgICAgICAgV2ViQ29yZTo6UGVy
bWlzc2lvbk5hbWU6OkJhY2tncm91bmRGZXRjaCwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lv
bk5hbWU6OkJhY2tncm91bmRTeW5jLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6
Qmx1ZXRvb3RoLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6Q2FtZXJhLAorICAg
ICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6RGlzcGxheUNhcHR1cmUsCisgICAgICAgIFdl
YkNvcmU6OlBlcm1pc3Npb25OYW1lOjpHZW9sb2NhdGlvbiwKKyAgICAgICAgV2ViQ29yZTo6UGVy
bWlzc2lvbk5hbWU6Okd5cm9zY29wZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6
Ok1hZ25ldG9tZXRlciwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok1pY3JvcGhv
bmUsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpNaWRpLAorICAgICAgICBXZWJD
b3JlOjpQZXJtaXNzaW9uTmFtZTo6TmZjLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFt
ZTo6Tm90aWZpY2F0aW9ucywKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6OlBlcnNp
c3RlbnRTdG9yYWdlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6UHVzaCwKKyAg
ICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6OlNjcmVlbldha2VMb2NrLAorICAgICAgICBX
ZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6U3BlYWtlclNlbGVjdGlvbgorICAgID47Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDNhY2RmMjhjNjQyMTEwZWI2
MTBmZTllOTg3YjZiZTY3ZGRkYTYyMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRsCkBAIC0wLDAgKzEsNDkgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1k
ZWYtcGVybWlzc2lvbm5hbWUKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNB
UEksCitdIGVudW0gUGVybWlzc2lvbk5hbWUgeworICAgICJhY2NlbGVyb21ldGVyIiwKKyAgICAi
YW1iaWVudC1saWdodC1zZW5zb3IiLAorICAgICJiYWNrZ3JvdW5kLWZldGNoIiwKKyAgICAiYmFj
a2dyb3VuZC1zeW5jIiwKKyAgICAiYmx1ZXRvb3RoIiwKKyAgICAiY2FtZXJhIiwKKyAgICAiZGlz
cGxheS1jYXB0dXJlIiwKKyAgICAiZ2VvbG9jYXRpb24iLAorICAgICJneXJvc2NvcGUiLAorICAg
ICJtYWduZXRvbWV0ZXIiLAorICAgICJtaWNyb3Bob25lIiwKKyAgICAibWlkaSIsCisgICAgIm5m
YyIsCisgICAgIm5vdGlmaWNhdGlvbnMiLAorICAgICJwZXJzaXN0ZW50LXN0b3JhZ2UiLAorICAg
ICJwdXNoIiwKKyAgICAic2NyZWVuLXdha2UtbG9jayIsCisgICAgInNwZWFrZXItc2VsZWN0aW9u
IgorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbk9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25PYnNlcnZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1NjZkNzMyNzJlM2ZjMmFlOTkzOWUxMzdl
MjQzODhmNjBiNzIyMTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZlci5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkNsaWVudE9yaWdpbi5oIgorI2luY2x1
ZGUgIlBlcm1pc3Npb25TdGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBQ
ZXJtaXNzaW9uRGVzY3JpcHRvcjsKKworY2xhc3MgUGVybWlzc2lvbk9ic2VydmVyIDogcHVibGlj
IENhbk1ha2VXZWFrUHRyPFBlcm1pc3Npb25PYnNlcnZlcj4geworcHVibGljOgorICAgIHZpcnR1
YWwgflBlcm1pc3Npb25PYnNlcnZlcigpID0gZGVmYXVsdDsKKworICAgIHZpcnR1YWwgdm9pZCBz
dGF0ZUNoYW5nZWQoUGVybWlzc2lvblN0YXRlKSA9IDA7CisgICAgdmlydHVhbCBjb25zdCBDbGll
bnRPcmlnaW4mIG9yaWdpbigpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGNvbnN0IFBlcm1pc3Np
b25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yKCkgY29uc3QgPSAwOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uU3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvblN0YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWNhZGY1MjAxZTBjMzdiMzBmNGI3MmVhMDgw
NDA4NTg0Yjg4ODQ4NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIFBlcm1pc3Npb25TdGF0ZSA6IHVpbnQ4X3Qgewor
ICAgIEdyYW50ZWQsCisgICAgRGVuaWVkLAorICAgIFByb21wdAorfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRy
YWl0czxXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVt
VmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUsCisgICAgICAgIFdlYkNv
cmU6OlBlcm1pc3Npb25TdGF0ZTo6R3JhbnRlZCwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lv
blN0YXRlOjpEZW5pZWQsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0
CisgICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljc1Nzc5NzgxMmQxOTg2OWVmM2U1MWEyZGI5ZWE4YTdhZjE2OGFjOWIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5p
ZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5p
by9wZXJtaXNzaW9ucy8jZW51bWRlZi1wZXJtaXNzaW9uc3RhdGUKKworWworICAgIEVuYWJsZWRC
eVNldHRpbmc9UGVybWlzc2lvbnNBUEksCitdIGVudW0gUGVybWlzc2lvblN0YXRlIHsKKyAgICAi
Z3JhbnRlZCIsCisgICAgImRlbmllZCIsCisgICAgInByb21wdCIKK307CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xODNiMzQxNjljM2U0OGVlZGU2NDQ3Zjg2ZDg2OTg3MjE4M2MwM2Q5Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uU3RhdHVzLmNwcApAQCAtMCwwICsxLDgwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25TdGF0dXMuaCIKKworI2luY2x1ZGUgIkNsaWVu
dE9yaWdpbi5oIgorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisj
aW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9j
SW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FU
RURfSU1QTChQZXJtaXNzaW9uU3RhdHVzKTsKKworUmVmPFBlcm1pc3Npb25TdGF0dXM+IFBlcm1p
c3Npb25TdGF0dXM6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBQZXJt
aXNzaW9uU3RhdGUgc3RhdGUsIFBlcm1pc3Npb25EZXNjcmlwdG9yIGRlc2NyaXB0b3IpCit7Cisg
ICAgYXV0byBzdGF0dXMgPSBhZG9wdFJlZigqbmV3IFBlcm1pc3Npb25TdGF0dXMoY29udGV4dCwg
c3RhdGUsIGRlc2NyaXB0b3IpKTsKKyAgICBzdGF0dXMtPnN1c3BlbmRJZk5lZWRlZCgpOworICAg
IHJldHVybiBzdGF0dXM7Cit9CisKK1Blcm1pc3Npb25TdGF0dXM6OlBlcm1pc3Npb25TdGF0dXMo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUGVybWlzc2lvblN0YXRlIHN0YXRlLCBQ
ZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yKQorICAgIDogQWN0aXZlRE9NT2JqZWN0KCZj
b250ZXh0KQorICAgICwgbV9zdGF0ZShzdGF0ZSkKKyAgICAsIG1fZGVzY3JpcHRvcihkZXNjcmlw
dG9yKQoreworICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkpIHsKKyAgICAgICAgaWYgKGF1
dG8gcGFnZSA9IGRvd25jYXN0PERvY3VtZW50Pigqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS5w
YWdlKCkpIHsKKyAgICAgICAgICAgIG1fY29udHJvbGxlciA9IG1ha2VXZWFrUHRyKHBhZ2UtPnBl
cm1pc3Npb25Db250cm9sbGVyKCkpOworICAgICAgICAgICAgbV9jb250cm9sbGVyLT5hZGRPYnNl
cnZlcigqdGhpcyk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBhdXRvKiBvcmlnaW4gPSBjb250
ZXh0LnNlY3VyaXR5T3JpZ2luKCk7CisgICAgYXV0byBvcmlnaW5EYXRhID0gb3JpZ2luID8gb3Jp
Z2luLT5kYXRhKCkgOiBTZWN1cml0eU9yaWdpbkRhdGEgeyB9OworICAgIG1fb3JpZ2luID0gQ2xp
ZW50T3JpZ2luIHsgY29udGV4dC50b3BPcmlnaW4oKS5kYXRhKCksIG9yaWdpbkRhdGEgfTsKK30K
KworUGVybWlzc2lvblN0YXR1czo6flBlcm1pc3Npb25TdGF0dXMoKQoreworICAgIGlmIChtX2Nv
bnRyb2xsZXIpCisgICAgICAgIG1fY29udHJvbGxlci0+cmVtb3ZlT2JzZXJ2ZXIoKnRoaXMpOwor
fQorCit2b2lkIFBlcm1pc3Npb25TdGF0dXM6OnN0YXRlQ2hhbmdlZChQZXJtaXNzaW9uU3RhdGUg
bmV3U3RhdGUpCit7CisgICAgaWYgKG1fc3RhdGUgIT0gbmV3U3RhdGUpCisgICAgICAgIHF1ZXVl
VGFza1RvRGlzcGF0Y2hFdmVudCgqdGhpcywgVGFza1NvdXJjZTo6UGVybWlzc2lvbiwgRXZlbnQ6
OmNyZWF0ZShldmVudE5hbWVzKCkuY2hhbmdlRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBF
dmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworfQorCitjb25zdCBjaGFyKiBQZXJtaXNzaW9uU3Rh
dHVzOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIlBlcm1pc3Np
b25TdGF0dXMiOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjE3MWU3YTQyMWNlYWUzMjdiNTljMTg1NDhhN2RhNzE0MzY1ZDEzZWIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
dXMuaApAQCAtMCwwICsxLDc4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1
ZGUgIlBlcm1pc3Npb25EZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbk5hbWUuaCIK
KyNpbmNsdWRlICJQZXJtaXNzaW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3Rh
dGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQZXJtaXNzaW9uQ29udHJvbGxl
cjsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIFBlcm1pc3Npb25TdGF0
dXMgZmluYWwgOiBwdWJsaWMgUGVybWlzc2lvbk9ic2VydmVyLCBwdWJsaWMgQWN0aXZlRE9NT2Jq
ZWN0LCBwdWJsaWMgUmVmQ291bnRlZDxQZXJtaXNzaW9uU3RhdHVzPiwgcHVibGljIEV2ZW50VGFy
Z2V0V2l0aElubGluZURhdGEgIHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFBlcm1pc3Np
b25TdGF0dXMpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UGVybWlzc2lvblN0YXR1cz4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBQZXJtaXNzaW9uU3RhdGUsIFBlcm1pc3Npb25E
ZXNjcmlwdG9yKTsKKyAgICB+UGVybWlzc2lvblN0YXR1cygpOworCisgICAgUGVybWlzc2lvblN0
YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZTsgfQorICAgIFBlcm1pc3Npb25OYW1l
IG5hbWUoKSBjb25zdCB7IHJldHVybiBtX2Rlc2NyaXB0b3IubmFtZTsgfQorCisgICAgdXNpbmcg
UmVmQ291bnRlZDo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOworCisgICAgdXNp
bmcgUGVybWlzc2lvbk9ic2VydmVyOjp3ZWFrUHRyRmFjdG9yeTsKKyAgICB1c2luZyBXZWFrVmFs
dWVUeXBlID0gUGVybWlzc2lvbk9ic2VydmVyOjpXZWFrVmFsdWVUeXBlOworCitwcml2YXRlOgor
ICAgIFBlcm1pc3Npb25TdGF0dXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFBlcm1pc3Npb25T
dGF0ZSwgUGVybWlzc2lvbkRlc2NyaXB0b3IpOworCisgICAgLy8gUGVybWlzc2lvbk9ic2VydmVy
CisgICAgdm9pZCBzdGF0ZUNoYW5nZWQoUGVybWlzc2lvblN0YXRlKSBmaW5hbDsKKyAgICBjb25z
dCBDbGllbnRPcmlnaW4mIG9yaWdpbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fb3JpZ2luOyB9
CisgICAgY29uc3QgUGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBtX2Rlc2NyaXB0b3I7IH0KKworICAgIC8vIEFjdGl2ZURPTU9iamVjdAorICAg
IGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKKworICAgIC8v
IEV2ZW50VGFyZ2V0CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6c2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CisgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJ
bnRlcmZhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiBQZXJtaXNzaW9uU3RhdHVzRXZlbnRUYXJn
ZXRJbnRlcmZhY2VUeXBlOyB9CisgICAgdm9pZCByZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVm
KCk7IH0KKyAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KKwor
ICAgIFBlcm1pc3Npb25TdGF0ZSBtX3N0YXRlOworICAgIFBlcm1pc3Npb25EZXNjcmlwdG9yIG1f
ZGVzY3JpcHRvcjsKKyAgICBDbGllbnRPcmlnaW4gbV9vcmlnaW47CisgICAgV2Vha1B0cjxQZXJt
aXNzaW9uQ29udHJvbGxlcj4gbV9jb250cm9sbGVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uU3RhdHVzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvblN0YXR1cy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGI3ODE0MmU2OTllMjBlNmJlODZjYzVjZTIw
NTZkMWRlYjY5MmVkMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisgCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI3Blcm1pc3Npb25z
dGF0dXMKKworWworICAgIEFjdGl2ZURPTU9iamVjdCwKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBl
cm1pc3Npb25zQVBJLAorICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpCitdIGludGVyZmFjZSBQ
ZXJtaXNzaW9uU3RhdHVzIDogRXZlbnRUYXJnZXQgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQ
ZXJtaXNzaW9uU3RhdGUgc3RhdGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFBlcm1pc3Npb25O
YW1lIG5hbWU7CisgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmNoYW5nZTsKK307CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFkZGI2YmY1MmUwNmQ1MjNjYWIzNGU5ZDE3ZGQxODRlNjFlM2Y4NjMKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Np
b25zLmNwcApAQCAtMCwwICsxLDkyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIlBlcm1pc3Npb25zLmgiCisKKyNpbmNsdWRlICJFeGNlcHRpb24uaCIKKyNp
bmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5j
bHVkZSAiSlNQZXJtaXNzaW9uRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIkpTUGVybWlzc2lvblN0
YXR1cy5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNs
dWRlICJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25EZXNjcmlw
dG9yLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUGVybWlzc2lvbnMpOworCitS
ZWY8UGVybWlzc2lvbnM+IFBlcm1pc3Npb25zOjpjcmVhdGUoTmF2aWdhdG9yJiBuYXZpZ2F0b3Ip
Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVybWlzc2lvbnMobmF2aWdhdG9yKSk7Cit9
CisKK1Blcm1pc3Npb25zOjpQZXJtaXNzaW9ucyhOYXZpZ2F0b3ImIG5hdmlnYXRvcikKKyAgICA6
IG1fbmF2aWdhdG9yKG1ha2VXZWFrUHRyKG5hdmlnYXRvcikpCit7Cit9CisKK05hdmlnYXRvciog
UGVybWlzc2lvbnM6Om5hdmlnYXRvcigpCit7CisgICAgcmV0dXJuIG1fbmF2aWdhdG9yLmdldCgp
OworfQorCit2b2lkIFBlcm1pc3Npb25zOjpxdWVyeShKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0
PiBwZXJtaXNzaW9uRGVzY3JpcHRvclZhbHVlLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJm
YWNlPFBlcm1pc3Npb25TdGF0dXM+PiYmIHByb21pc2UpCit7CisgICAgYXV0byBjb250ZXh0ID0g
bV9uYXZpZ2F0b3IgPyBtX25hdmlnYXRvci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIDogbnVs
bHB0cjsKKyAgICBpZiAoIWNvbnRleHQgfHwgIWNvbnRleHQtPmdsb2JhbE9iamVjdCgpKSB7Cisg
ICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH0pOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgSlNDOjpWTSYgdm0gPSBjb250ZXh0LT5nbG9i
YWxPYmplY3QoKS0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CisgICAgaWYgKCFwZXJtaXNzaW9uRGVzY3JpcHRvclZhbHVlKSB7CisgICAgICAgIHByb21p
c2UucmVqZWN0KEV4Y2VwdGlvbiB7IERhdGFFcnJvciwgIlRoZSBwYXJhbWV0ZXIgaXMgaW52YWxp
ZCJfcyB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gcGFyYW1ldGVyRGVz
Y3JpcHRvciA9IGNvbnZlcnQ8SURMRGljdGlvbmFyeTxQZXJtaXNzaW9uRGVzY3JpcHRvcj4+KCpj
b250ZXh0LT5nbG9iYWxPYmplY3QoKSwgcGVybWlzc2lvbkRlc2NyaXB0b3JWYWx1ZS5nZXQoKSk7
CisgICAgaWYgKFVOTElLRUxZKHNjb3BlLmV4Y2VwdGlvbigpKSkgeworICAgICAgICBwcm9taXNl
LnJlamVjdChFeGNlcHRpb24geyBFeGlzdGluZ0V4Y2VwdGlvbkVycm9yIH0pOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgYXV0byogZnJhbWUgPSBtX25hdmlnYXRvci0+ZnJhbWUoKTsK
KyAgICBhdXRvKiBkb2N1bWVudCA9IGZyYW1lPyBmcmFtZS0+ZG9jdW1lbnQoKSA6IG51bGxwdHI7
CisgICAgYXV0byogcGFnZSA9IGZyYW1lPyBmcmFtZS0+cGFnZSgpIDogbnVsbHB0cjsKKyAgICBp
ZiAoIWZyYW1lIHx8ICFkb2N1bWVudCB8fCAhcGFnZSkgeworICAgICAgICBwcm9taXNlLnJlamVj
dChFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9KTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGF1dG8gcGVybWlzc2lvblN0YXRlID0gcGFnZS0+cGVybWlzc2lvbkNvbnRyb2xs
ZXIoKS5xdWVyeShDbGllbnRPcmlnaW4geyBkb2N1bWVudC0+dG9wT3JpZ2luKCkuZGF0YSgpLCBk
b2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS5kYXRhKCkgfSwgUGVybWlzc2lvbkRlc2NyaXB0b3Ig
eyBwYXJhbWV0ZXJEZXNjcmlwdG9yIH0pOworICAgIHByb21pc2UucmVzb2x2ZShQZXJtaXNzaW9u
U3RhdHVzOjpjcmVhdGUoKmNvbnRleHQsIHBlcm1pc3Npb25TdGF0ZSwgcGFyYW1ldGVyRGVzY3Jp
cHRvcikpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJlODk1N2Fm
MTE4Y2M2NjRkZGI2YzRiNTc0ZDZkMjRjNzVjNGZhMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaApAQCAtMCwwICsxLDU4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJJRExUeXBlcy5oIgor
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0cm9uZy5oPgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxs
b2MuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCituYW1lc3BhY2UgSlNDIHsKK2NsYXNz
IEpTT2JqZWN0OworfSAvLyBuYW1lc3BhY2UgSlNDCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgTmF2aWdhdG9yOworY2xhc3MgUGVybWlzc2lvblN0YXR1czsKKwordGVtcGxhdGU8dHlw
ZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCitjbGFzcyBQZXJtaXNz
aW9ucyBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcm1pc3Npb25zPiB7CisgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChQZXJtaXNzaW9ucyk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQ
ZXJtaXNzaW9ucz4gY3JlYXRlKE5hdmlnYXRvciYpOworCisgICAgTmF2aWdhdG9yKiBuYXZpZ2F0
b3IoKTsKKyAgICB2b2lkIHF1ZXJ5KEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+LCBET01Qcm9t
aXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPFBlcm1pc3Npb25TdGF0dXM+PiYmKTsKKworcHJpdmF0
ZToKKyAgICBleHBsaWNpdCBQZXJtaXNzaW9ucyhOYXZpZ2F0b3ImKTsKKworICAgIFdlYWtQdHI8
TmF2aWdhdG9yPiBtX25hdmlnYXRvcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzY4YWE2MTJhNTA3YjM4MDU0MGE2NzBiZTY0NWFiNjZlZjQzODFkZAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvbnMuaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5n
aXRodWIuaW8vcGVybWlzc2lvbnMvI3Blcm1pc3Npb25zLWludGVyZmFjZQorCitbCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKKyAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPVJl
YWNoYWJsZUZyb21OYXZpZ2F0b3IsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAg
ICBFeHBvc2VkPShXaW5kb3csV29ya2VyKQorXSBpbnRlcmZhY2UgUGVybWlzc2lvbnMgeworICAg
IFByb21pc2U8UGVybWlzc2lvblN0YXR1cz4gcXVlcnkob2JqZWN0IHBlcm1pc3Npb25EZXNjKTsK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CmluZGV4IDZkNTlkYzNmZDg3ODRhYzM1NzYwYWRkZjVkOTIwNThkMjU4
NGQwN2IuLjg5MTA1NDk3MzE5YTZiMDRlMThmZTUyZTQ1MWVkNGVlOWE0ZjE1MjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CkBAIC0yMDMsNiArMjAzLDkgQEAgTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50
UmVxdWVzdC5jcHAKIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVF
dmVudC5jcHAKIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVdGlsaXRpZXMu
Y3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5jcHAKK01vZHVsZXMv
cGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwCitNb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25TdGF0dXMuY3BwCitNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNw
cAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50UGljdHVyZUluUGljdHVyZS5jcHAK
IE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5jcHAK
IE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9IVE1MVmlkZW9FbGVtZW50UGljdHVyZUluUGljdHVy
ZS5jcHAKQEAgLTMyNzIsNiArMzI3NSwxMSBAQCBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcAogSlNQ
ZXJpb2RpY1dhdmUuY3BwCiBKU1BlcmlvZGljV2F2ZUNvbnN0cmFpbnRzLmNwcAogSlNQZXJpb2Rp
Y1dhdmVPcHRpb25zLmNwcAorSlNQZXJtaXNzaW9uRGVzY3JpcHRvci5jcHAKK0pTUGVybWlzc2lv
bk5hbWUuY3BwCitKU1Blcm1pc3Npb25TdGF0ZS5jcHAKK0pTUGVybWlzc2lvblN0YXR1cy5jcHAK
K0pTUGVybWlzc2lvbnMuY3BwCiBKU1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuY3BwCiBKU1BsYXli
YWNrRGlyZWN0aW9uLmNwcAogSlNQb2ludGVyRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDBhYTBlOGQyYjliOTEw
NzNiOTgzYTY4Y2Y1OWY3ZTY2YTJhNTM3NS4uMzZhZGVlZDQ5ZDEwZjg3YTYxODFkODMyODNlYjg3
NjQ4NDhhZGRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMjg4MCw2ICsyODgwLDE0IEBACiAJCTkzQTgwNjE3MUUwM0I1MUMw
MDhBMUYyNiAvKiBMb25nUmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzQTgwNjEzMUUwM0I1MUMwMDhBMUYyNiAvKiBMb25nUmFuZ2UuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0E4MDYxRTFF
MDNCNTg1MDA4QTFGMjYgLyogSlNEb3VibGVSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBODA2MUExRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91
YmxlUmFuZ2UuaCAqLzsgfTsKIAkJOTNBODA2MjAxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9uZ1Jh
bmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4
MDYxQzFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuaCAqLzsgfTsKKwkJOTNCMEE2NTMy
NkNERDE0MTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY0QTI2Q0REMTNFMDBBQTIxRTQg
LyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCAqLzsgfTsKKwkJOTNCMEE2NTQyNkNERDE0MTAwQUEy
MUU0IC8qIFBlcm1pc3Npb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5M0IwQTY0QjI2Q0REMTNFMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCAqLzsg
fTsKKwkJOTNCMEE2NTYyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjREMjZDREQx
M0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggKi87IH07CisJCTkzQjBBNjU3MjZDREQx
NDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NEUyNkNERDEzRjAwQUEyMUU0IC8qIFBl
cm1pc3Npb25EZXNjcmlwdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJOTNCMEE2NTkyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1l
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY1
MDI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5M0IwQTY1QjI2Q0REMTQxMDBBQTIxRTQg
LyogUGVybWlzc2lvblN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5M0IwQTY1MjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNCMEE2
NzAyNkQ0QjUzOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY2OTI2RDQ0QjdGMDBBQTIx
RTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQk5M0IwQTY3QTI2RDZBNEU5MDBBQTIxRTQgLyogUGVybWlz
c2lvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5M0IwQTY2RjI2RDRCNTI5MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNCMkQ4MTYw
Rjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IyRDgxNTBGOTkyMEQyMDA2QUU2QjIgLyog
U3VkZGVuVGVybWluYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk5M0IzOEVDMzI1ODIxREI0MDAxOThFNjMgLyogV2ViU3BlZWNoUmVjb2du
aXplclRhc2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzQjM4RUJBMjU4MjE5M0IwMDE5OEU2MyAvKiBXZWJTcGVlY2hSZWNvZ25pemVyVGFzay5oICov
OyB9OwogCQk5M0IzOEVDNDI1ODIxREI3MDAxOThFNjMgLyogV2ViU3BlZWNoUmVjb2duaXplclRh
c2tNb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
M0IzOEVCQjI1ODIxOTNEMDAxOThFNjMgLyogV2ViU3BlZWNoUmVjb2duaXplclRhc2tNb2NrLmgg
Ki87IH07CkBAIC0xMTcwMSw2ICsxMTcwOSwyMyBAQAogCQk5M0E4MDYxQTFFMDNCNTg1MDA4QTFG
MjYgLyogSlNEb3VibGVSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0RvdWJsZVJhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQTgwNjFCMUUw
M0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0xvbmdSYW5nZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTkzQTgwNjFDMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0xvbmdSYW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5M0IwQTY0NDI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9uU3RhdGUuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0NTI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lv
bkRlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcm1pc3Npb25EZXNjcmlw
dG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDYyNkNEQzVCNzAw
QUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJt
aXNzaW9uTmFtZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ3MjZD
REM1QjcwMEFBMjFFNCAvKiBOYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9ICJOYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsIjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTNCMEE2NDgyNkNEQzVCNzAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTkzQjBBNjQ5MjZDREM1QjgwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVz
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9uU3RhdHVzLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmln
YXRvclBlcm1pc3Npb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmln
YXRvclBlcm1pc3Npb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRC
MjZDREQxM0UwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQZXJtaXNzaW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
M0IwQTY0QzI2Q0REMTNFMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmF2aWdhdG9yUGVybWlzc2lvbnMuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0RDI2Q0REMTNGMDBBQTIxRTQg
LyogUGVybWlzc2lvblN0YXR1cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
ZXJtaXNzaW9uU3RhdHVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRF
MjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uRGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk5M0IwQTY0RjI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvblN0
YXR1cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJtaXNzaW9u
U3RhdHVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NTAyNkNERDE0
MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBlcm1pc3Npb25OYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkz
QjBBNjUxMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJtaXNzaW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTkzQjBBNjUyMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvblN0YXRlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjY5MjZENDRCN0YwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9uQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uQ29udHJvbGxl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY2RjI2RDRCNTI5MDBBQTIx
RTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25PYnNl
cnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IyRDgxNTBGOTkyMEQyMDA2
QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU3VkZGVuVGVybWluYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTNCMkQ4MTcwRjk5MjBFRTAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3VkZGVuVGVybWluYXRpb24ubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjM4RUI4MjU4MjE4OTkwMDE5OEU2MyAvKiBT
cGVlY2hSZWNvZ25pemVyQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBTcGVlY2hSZWNvZ25pemVyQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yMzE4NSw2ICsyMzIxMCwzMCBAQAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTkzQjBBNjQyMjZDREM1NzQwMEFBMjFFNCAvKiBwZXJt
aXNzaW9ucyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJ
OTNCMEE2NDcyNkNEQzVCNzAwQUEyMUU0IC8qIE5hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgKi8s
CisJCQkJOTNCMEE2NEMyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmNw
cCAqLywKKwkJCQk5M0IwQTY0QTI2Q0REMTNFMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lv
bnMuaCAqLywKKwkJCQk5M0IwQTY2OTI2RDQ0QjdGMDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRy
b2xsZXIuaCAqLywKKwkJCQk5M0IwQTY0RTI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvbkRl
c2NyaXB0b3IuaCAqLywKKwkJCQk5M0IwQTY0NTI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lv
bkRlc2NyaXB0b3IuaWRsICovLAorCQkJCTkzQjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJt
aXNzaW9uTmFtZS5oICovLAorCQkJCTkzQjBBNjQ2MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uTmFtZS5pZGwgKi8sCisJCQkJOTNCMEE2NkYyNkQ0QjUyOTAwQUEyMUU0IC8qIFBlcm1pc3Np
b25PYnNlcnZlci5oICovLAorCQkJCTkzQjBBNjUxMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNz
aW9ucy5jcHAgKi8sCisJCQkJOTNCMEE2NEIyNkNERDEzRTAwQUEyMUU0IC8qIFBlcm1pc3Npb25z
LmggKi8sCisJCQkJOTNCMEE2NDgyNkNEQzVCNzAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmlkbCAq
LywKKwkJCQk5M0IwQTY1MjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggKi8s
CisJCQkJOTNCMEE2NDQyNkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5pZGwgKi8s
CisJCQkJOTNCMEE2NEYyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuY3BwICov
LAorCQkJCTkzQjBBNjREMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggKi8s
CisJCQkJOTNCMEE2NDkyNkNEQzVCODAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaWRsICov
LAorCQkJKTsKKwkJCXBhdGggPSBwZXJtaXNzaW9uczsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CisJCX07CiAJCTkzQjM4RUI2MjU4MjE4MzMwMDE5OEU2MyAvKiBjb2NvYSAqLyA9IHsKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0yMzc5MCw2ICsyMzgzOSw3IEBA
CiAJCQkJNzFENkFBMzkxREE0RUFGNzAwQjIzOTY5IC8qIG1vZGVybi1tZWRpYS1jb250cm9scyAq
LywKIAkJCQkzMzNGNzAzRDBGQjQ5QzE2MDA4RTEyQTYgLyogbm90aWZpY2F0aW9ucyAqLywKIAkJ
CQlBMUY3NkIwRTFGNDRDMENGMDAxNEMzMTggLyogcGF5bWVudHJlcXVlc3QgKi8sCisJCQkJOTNC
MEE2NDIyNkNEQzU3NDAwQUEyMUU0IC8qIHBlcm1pc3Npb25zICovLAogCQkJCTFERUYwNkEyMjMz
QzMyREIwMEVFMjI4RCAvKiBwaWN0dXJlaW5waWN0dXJlICovLAogCQkJCTA3MkFFMURFMTgzQzA1
MTMwMDBBNTk4OCAvKiBwbHVnaW5zICovLAogCQkJCUNEQzMxMkUwMjJGQ0QwQjAwMDEyMDRFQyAv
KiByZW1vdGVwbGF5YmFjayAqLywKQEAgLTMzNzU3LDYgKzMzODA3LDcgQEAKIAkJCQk2QjUwN0Ey
NDIzNEJGMzQxMDBCRTdDNjIgLyogTmF2aWdhdG9ySXNMb2dnZWRJbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNUVBNzI1RDYxQUNBQkQ1NzAwRUFEMTdCIC8qIE5hdmlnYXRvck1lZGlhRGV2aWNlcy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMDc3QkE1NzIyNjBGQTAxNDAwNzJGMTlGIC8qIE5hdmlnYXRv
ck1lZGlhU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTMyNkNERDE0MTAwQUEy
MUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTZFNTlE
RjFERjAxMjhEMDA2NjEyQjkgLyogTmF2aWdhdG9yV2ViRHJpdmVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMUVFOEI3ODI0MTMxOTFGMDBFNzk0RDYgLyogTmF2aWdhdG9yV2ViWFIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCThBMzA5QzlGMTIzOTUwQkUwMENCOTIwNCAvKiBOZXN0aW5nTGV2ZWxJbmNy
ZW1lbnRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzk1Niw2ICszNDAwNywxMyBAQAogCQkJCUZE
NTgxRkI1MTUyMEY5M0IwMDNBN0E3NSAvKiBQZXJpb2RpY1dhdmUuaCBpbiBIZWFkZXJzICovLAog
CQkJCUU3NTVFODkyMjRDNzQzNEIwMDlGN0MyMyAvKiBQZXJpb2RpY1dhdmVDb25zdHJhaW50cy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTc1NUU4OTkyNEM3NDYxRDAwOUY3QzIzIC8qIFBlcmlvZGlj
V2F2ZU9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjcwMjZENEI1MzkwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTcy
NkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLywK
KwkJCQk5M0IwQTY1OTI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTkzQjBBNjdBMjZENkE0RTkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2
ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjU0MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJt
aXNzaW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NUIyNkNERDE0MTAwQUEyMUU0IC8q
IFBlcm1pc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTYyNkNERDE0MTAw
QUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RDVEQzJF
MEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMURCQzFCNTYyMzQ3QjNEMjAwQjkwMUFGIC8qIFBpY3R1cmVJblBpY3R1
cmVPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUQyQzgyQjcyMzZBM0Y2QTAwNTVENkM1
IC8qIFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBmMTgxYzc5
NmQ2NTBjYzg2ZmUzZjA4YTcyMDA3YTZlZGMyZWZiYzc4Li44NTFhMjE0YzlhNDg3ZmY2OGQxNmJl
N2RkOGZiYjUyMDg4N2ViOTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xNTQsNiArMTU0LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIG1hY3JvKE1vY2tSVENSdHBUcmFuc2Zvcm0pIFwKICAgICBtYWNybyhOYXZpZ2F0
b3JDcmVkZW50aWFscykgXAogICAgIG1hY3JvKE5hdmlnYXRvck1lZGlhRGV2aWNlcykgXAorICAg
IG1hY3JvKE5hdmlnYXRvclBlcm1pc3Npb25zKSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yVXNlck1l
ZGlhKSBcCiAgICAgbWFjcm8oT2ZmbGluZUF1ZGlvQ29udGV4dCkgXAogICAgIG1hY3JvKE9mZnNj
cmVlbkNhbnZhcykgXApAQCAtMTgyLDYgKzE4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBtYWNybyhQZXJmb3JtYW5jZVBhaW50VGltaW5nKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlU2VydmVyVGltaW5nKSBcCisg
ICAgbWFjcm8oUGVybWlzc2lvbkRlc2NyaXB0b3IpIFwKKyAgICBtYWNybyhQZXJtaXNzaW9uU3Rh
dHVzKSBcCisgICAgbWFjcm8oUGVybWlzc2lvbnMpIFwKICAgICBtYWNybyhQb2ludGVyRXZlbnQp
IFwKICAgICBtYWNybyhQdWJsaWNLZXlDcmVkZW50aWFsKSBcCiAgICAgbWFjcm8oUmVzaXplT2Jz
ZXJ2ZXIpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rv
cnkuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCmluZGV4IDVl
NThmMTExNjY3ZWY2MjEwZDUzMTEwZDdiNTRhODAyYzg0Mzk1ZDguLjAxM2NlZDA5NDZmZmNkNTI1
OWZhMjUwYjE2MDNhMThlNDU5ZTQ1OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldEZhY3RvcnkuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0
RmFjdG9yeS5pbgpAQCAtMzUsNiArMzUsNyBAQCBPZmZzY3JlZW5DYW52YXMgY29uZGl0aW9uYWw9
T0ZGU0NSRUVOX0NBTlZBUwogUGF5bWVudFJlcXVlc3QgY29uZGl0aW9uYWw9UEFZTUVOVF9SRVFV
RVNUCiBQYXltZW50UmVzcG9uc2UgY29uZGl0aW9uYWw9UEFZTUVOVF9SRVFVRVNUCiBQZXJmb3Jt
YW5jZQorUGVybWlzc2lvblN0YXR1cwogUGljdHVyZUluUGljdHVyZVdpbmRvdyBjb25kaXRpb25h
bD1QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJCiBSZW1vdGVQbGF5YmFjayBjb25kaXRpb25hbD1XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQKIFJUQ0RhdGFDaGFubmVsIGNvbmRpdGlvbmFsPVdFQl9SVEMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UYXNrU291cmNlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vVGFza1NvdXJjZS5oCmluZGV4IDcxMzNmNjc4ZWEyZDk5MjY5NTE2MDIwODY0ZWYx
M2Q0ZjNlZmQzOTguLjJkYTQ3YmFkNmM3M2E2YmE1YmYyODNiOGQzNTJmNDBkMjFhZjAxNGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UYXNrU291cmNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1Rhc2tTb3VyY2UuaApAQCAtMzksNiArMzksNyBAQCBlbnVtIGNsYXNzIFRhc2tT
b3VyY2UgOiB1aW50OF90IHsKICAgICBNaWNyb3Rhc2ssCiAgICAgTmV0d29ya2luZywKICAgICBQ
ZXJmb3JtYW5jZVRpbWVsaW5lLAorICAgIFBlcm1pc3Npb24sCiAgICAgUG9zdGVkTWVzc2FnZVF1
ZXVlLAogICAgIFNwZWVjaCwKICAgICBVc2VySW50ZXJhY3Rpb24sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IDk2NGUyZGQxMjA3MDMzMWE2NWNhMzQxYWM3MGU0YjI4
NzQyMDBhMGQuLjU1Y2M0NmUyNTkxODQ2OWYzMWQ1NmMwNDk2ZTQzZGQ1NWVjZmQ1ZDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC02Myw2ICs2Myw3IEBACiAjaW5j
bHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VDb25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAi
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xs
ZXIuaCIKICNpbmNsdWRlICJQbHVnaW5JbmZvUHJvdmlkZXIuaCIKICNpbmNsdWRlICJQcm9ncmVz
c1RyYWNrZXJDbGllbnQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbkRhdGEuaCIKQEAgLTEx
OTMsNyArMTE5NCw4IEBAIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uV2l0aEVt
cHR5Q2xpZW50cyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiAgICAgICAgIG1ha2VVbmlxdWVS
ZWY8RW1wdHlGcmFtZUxvYWRlckNsaWVudD4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1t
eVNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8RW1w
dHlNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCksCi0gICAgICAgIEVtcHR5QnJvYWRjYXN0Q2hhbm5l
bFJlZ2lzdHJ5OjpjcmVhdGUoKQorICAgICAgICBFbXB0eUJyb2FkY2FzdENoYW5uZWxSZWdpc3Ry
eTo6Y3JlYXRlKCksCisgICAgICAgIG1ha2VVbmlxdWVSZWY8RHVtbXlQZXJtaXNzaW9uQ29udHJv
bGxlcj4oKQogICAgIH07CiAKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RW1wdHlDaHJvbWVD
bGllbnQ+IGR1bW15Q2hyb21lQ2xpZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggZWVlNjhiNzdl
MWU1ZmNlMWU1OWMzMjk0MzRhOWE4NjAwYjM2OTcxMC4uODYxMDc4YmEwYmY2MTgzYjc3MTE0NWE3
NGI0MWJlMDdkN2IwNTYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC05OSw2ICs5OSw3IEBACiAj
aW5jbHVkZSAiUGVyZm9ybWFuY2VMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VMb2dn
aW5nQ2xpZW50LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VNb25pdG9yLmgiCisjaW5jbHVkZSAi
UGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVNjcmVlbi5oIgogI2luY2x1ZGUgIlBsYXRmb3Jt
U3RyYXRlZ2llcy5oIgpAQCAtMzI1LDYgKzMyNiw3IEBAIFBhZ2U6OlBhZ2UoUGFnZUNvbmZpZ3Vy
YXRpb24mJiBwYWdlQ29uZmlndXJhdGlvbikKICAgICAsIG1fbG9hZHNTdWJyZXNvdXJjZXMocGFn
ZUNvbmZpZ3VyYXRpb24ubG9hZHNTdWJyZXNvdXJjZXMpCiAgICAgLCBtX3Nob3VsZFJlbGF4VGhp
cmRQYXJ0eUNvb2tpZUJsb2NraW5nKHBhZ2VDb25maWd1cmF0aW9uLnNob3VsZFJlbGF4VGhpcmRQ
YXJ0eUNvb2tpZUJsb2NraW5nKQogICAgICwgbV9odHRwc1VwZ3JhZGVFbmFibGVkKHBhZ2VDb25m
aWd1cmF0aW9uLmh0dHBzVXBncmFkZUVuYWJsZWQpCisgICAgLCBtX3Blcm1pc3Npb25Db250cm9s
bGVyKFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24ucGVybWlzc2lvbkNvbnRyb2xsZXIpKQogewog
ICAgIHVwZGF0ZVRpbWVyVGhyb3R0bGluZ1N0YXRlKCk7CiAKQEAgLTM2OTMsNCArMzY5NSw5IEBA
IHZvaWQgUGFnZTo6cmVzZXRUZXh0UmVjb2duaXRpb25SZXN1bHRzKCkKIAogI2VuZGlmIC8vIEVO
QUJMRShJTUFHRV9BTkFMWVNJUykKIAorUGVybWlzc2lvbkNvbnRyb2xsZXImIFBhZ2U6OnBlcm1p
c3Npb25Db250cm9sbGVyKCkKK3sKKyAgICByZXR1cm4gbV9wZXJtaXNzaW9uQ29udHJvbGxlci5n
ZXQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA5MjU1
YmYzMTNjNjdkNzE0ODE1Y2Y3ODE1MjY2ZmZkODA1YjIyZjYwLi4zYjFlMjY5MDU1NmRkNGYzZDE3
YThlYjg1ZjI0ZDAwNDA4ODc0Mzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMTMxLDYgKzEzMSw3IEBA
IGNsYXNzIFBheW1lbnRDb29yZGluYXRvcjsKIGNsYXNzIFBlcmZvcm1hbmNlTG9nZ2luZzsKIGNs
YXNzIFBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudDsKIGNsYXNzIFBlcmZvcm1hbmNlTW9uaXRvcjsK
K2NsYXNzIFBlcm1pc3Npb25Db250cm9sbGVyOwogY2xhc3MgUGx1Z2luRGF0YTsKIGNsYXNzIFBs
dWdpbkluZm9Qcm92aWRlcjsKIGNsYXNzIFBsdWdpblZpZXdCYXNlOwpAQCAtODcyLDYgKzg3Myw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIGNhY2hlVGV4dFJlY29nbml0aW9uUmVzdWx0KGNvbnN0IEhU
TUxFbGVtZW50JiwgY29uc3QgSW50UmVjdCYgY29udGFpbmVyUmVjdCwgY29uc3QgVGV4dFJlY29n
bml0aW9uUmVzdWx0Jik7CiAjZW5kaWYKIAorICAgIFdFQkNPUkVfRVhQT1JUIFBlcm1pc3Npb25D
b250cm9sbGVyJiBwZXJtaXNzaW9uQ29udHJvbGxlcigpOworCiBwcml2YXRlOgogICAgIHN0cnVj
dCBOYXZpZ2F0aW9uIHsKICAgICAgICAgUmVnaXN0cmFibGVEb21haW4gZG9tYWluOwpAQCAtMTE5
NCw2ICsxMTk3LDggQEAgcHJpdmF0ZToKICAgICBjb25zdCBib29sIG1faHR0cHNVcGdyYWRlRW5h
YmxlZCB7IHRydWUgfTsKICAgICBtdXRhYmxlIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBt
X21lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcjsKIAorICAgIFVuaXF1ZVJlZjxQZXJtaXNzaW9u
Q29udHJvbGxlcj4gbV9wZXJtaXNzaW9uQ29udHJvbGxlcjsKKwogI2lmIEVOQUJMRShJTUFHRV9B
TkFMWVNJUykKICAgICAvLyBGSVhNRTogVGhlc2Ugc2hvdWxkIGJlIHJlZmFjdG9yZWQgdG8gdXNl
IGEgd2VhayBoYXNoIG1hcCBvZiBIVE1MRWxlbWVudCB0byBzdGQ6OnBhaXI8VGV4dFJlY29nbml0
aW9uUmVzdWx0LCBJbnRTaXplPi4KICAgICBWZWN0b3I8c3RkOjpwYWlyPFdlYWtQdHI8SFRNTEVs
ZW1lbnQ+LCBzdGQ6OnBhaXI8VGV4dFJlY29nbml0aW9uUmVzdWx0LCBJbnRSZWN0Pj4+IG1fdGV4
dFJlY29nbml0aW9uUmVzdWx0c0J5RWxlbWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29u
ZmlndXJhdGlvbi5jcHAKaW5kZXggNjc1ZTM2OWNjMWUyYzJiNzdkOTlmZGQwOTEzNGIxOThmMGNm
M2FmMy4uY2I1NjBmZDQxNGEyM2E3NmIyY2M3YjYwZWE1MDI5OTlhOTgxY2M5NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKQEAgLTU5LDcgKzU5LDcgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRp
b24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVk
aXRvckNsaWVudCwgUmVmPFNvY2tldFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyLCBVbmlxdWVS
ZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYgbGliV2ViUlRDUHJvdmlkZXIsIFJlZjxDYWNoZVN0b3Jh
Z2VQcm92aWRlcj4mJiBjYWNoZVN0b3JhZ2VQcm92aWRlciwgUmVmPFVzZXJDb250ZW50UHJvdmlk
ZXI+JiYgdXNlckNvbnRlbnRQcm92aWRlciwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmIGJhY2tG
b3J3YXJkQ2xpZW50LCBSZWY8Q29va2llSmFyPiYmIGNvb2tpZUphciwgVW5pcXVlUmVmPFByb2dy
ZXNzVHJhY2tlckNsaWVudD4mJiBwcm9ncmVzc1RyYWNrZXJDbGllbnQsIFVuaXF1ZVJlZjxGcmFt
ZUxvYWRlckNsaWVudD4mJiBsb2FkZXJDbGllbnRGb3JNYWluRnJhbWUsIFVuaXF1ZVJlZjxTcGVl
Y2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmIHNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXIsIFVuaXF1
ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYgbWVkaWFSZWNvcmRlclByb3ZpZGVyLCBSZWY8
QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmIGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSkKK1Bh
Z2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9u
SUQsIFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYgZWRpdG9yQ2xpZW50LCBSZWY8U29ja2V0UHJv
dmlkZXI+JiYgc29ja2V0UHJvdmlkZXIsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiBs
aWJXZWJSVENQcm92aWRlciwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmIGNhY2hlU3RvcmFn
ZVByb3ZpZGVyLCBSZWY8VXNlckNvbnRlbnRQcm92aWRlcj4mJiB1c2VyQ29udGVudFByb3ZpZGVy
LCBSZWY8QmFja0ZvcndhcmRDbGllbnQ+JiYgYmFja0ZvcndhcmRDbGllbnQsIFJlZjxDb29raWVK
YXI+JiYgY29va2llSmFyLCBVbmlxdWVSZWY8UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmIHByb2dy
ZXNzVHJhY2tlckNsaWVudCwgVW5pcXVlUmVmPEZyYW1lTG9hZGVyQ2xpZW50PiYmIGxvYWRlckNs
aWVudEZvck1haW5GcmFtZSwgVW5pcXVlUmVmPFNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+JiYg
c3BlZWNoUmVjb2duaXRpb25Qcm92aWRlciwgVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRl
cj4mJiBtZWRpYVJlY29yZGVyUHJvdmlkZXIsIFJlZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+
JiYgYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5LCBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xs
ZXI+JiYgcGVybWlzc2lvbkNvbnRyb2xsZXIpCiAgICAgOiBzZXNzaW9uSUQoc2Vzc2lvbklEKQog
ICAgICwgZWRpdG9yQ2xpZW50KFdURk1vdmUoZWRpdG9yQ2xpZW50KSkKICAgICAsIHNvY2tldFBy
b3ZpZGVyKFdURk1vdmUoc29ja2V0UHJvdmlkZXIpKQpAQCAtNzMsNiArNzMsNyBAQCBQYWdlQ29u
ZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBV
bmlxdWVSZWY8RWRpdG9yQwogICAgICwgYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KFdURk1vdmUo
YnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KSkKICAgICAsIHNwZWVjaFJlY29nbml0aW9uUHJvdmlk
ZXIoV1RGTW92ZShzcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyKSkKICAgICAsIG1lZGlhUmVjb3Jk
ZXJQcm92aWRlcihXVEZNb3ZlKG1lZGlhUmVjb3JkZXJQcm92aWRlcikpCisgICAgLCBwZXJtaXNz
aW9uQ29udHJvbGxlcihXVEZNb3ZlKHBlcm1pc3Npb25Db250cm9sbGVyKSkKIHsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCmluZGV4IDBmMjU5ZDU2ZDNhMTQyYTE0
ZTBlYzg1MTRlMGZkNWIyZmQyOTMwYTUuLmQ3NWI3MTA0YzM1MDM5MWY1OGE5NjhmYWUyZTZlMDM1
NDYxMTZhY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKQEAgLTU5
LDYgKzU5LDcgQEAgY2xhc3MgTGliV2ViUlRDUHJvdmlkZXI7CiBjbGFzcyBNZWRpYVJlY29yZGVy
UHJvdmlkZXI7CiBjbGFzcyBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ7CiBjbGFzcyBQZXJmb3Jt
YW5jZUxvZ2dpbmdDbGllbnQ7CitjbGFzcyBQZXJtaXNzaW9uQ29udHJvbGxlcjsKIGNsYXNzIFBs
dWdpbkluZm9Qcm92aWRlcjsKIGNsYXNzIFByb2dyZXNzVHJhY2tlckNsaWVudDsKIGNsYXNzIFNv
Y2tldFByb3ZpZGVyOwpAQCAtNzQsNyArNzUsNyBAQCBjbGFzcyBTcGVlY2hTeW50aGVzaXNDbGll
bnQ7CiBjbGFzcyBQYWdlQ29uZmlndXJhdGlvbiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGFnZUNvbmZpZ3VyYXRpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAg
ICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihQQUw6OlNlc3Npb25JRCwgVW5pcXVl
UmVmPEVkaXRvckNsaWVudD4mJiwgUmVmPFNvY2tldFByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TGli
V2ViUlRDUHJvdmlkZXI+JiYsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4mJiwgUmVmPFVzZXJD
b250ZW50UHJvdmlkZXI+JiYsIFJlZjxCYWNrRm9yd2FyZENsaWVudD4mJiwgUmVmPENvb2tpZUph
cj4mJiwgVW5pcXVlUmVmPFByb2dyZXNzVHJhY2tlckNsaWVudD4mJiwgVW5pcXVlUmVmPEZyYW1l
TG9hZGVyQ2xpZW50PiYmLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4mJiwg
VW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4mJiwgUmVmPEJyb2FkY2FzdENoYW5uZWxS
ZWdpc3RyeT4mJik7CisgICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpT
ZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYsIFJlZjxTb2NrZXRQcm92aWRlcj4m
JiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlk
ZXI+JiYsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmLCBSZWY8QmFja0ZvcndhcmRDbGllbnQ+
JiYsIFJlZjxDb29raWVKYXI+JiYsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYs
IFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNsaWVudD4mJiwgVW5pcXVlUmVmPFNwZWVjaFJlY29nbml0
aW9uUHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYsIFJlZjxC
cm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYsIFVuaXF1ZVJlZjxQZXJtaXNzaW9uQ29udHJvbGxl
cj4mJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgflBhZ2VDb25maWd1cmF0aW9uKCk7CiAgICAgUGFn
ZUNvbmZpZ3VyYXRpb24oUGFnZUNvbmZpZ3VyYXRpb24mJik7CiAKQEAgLTEzOCw2ICsxMzksOCBA
QCBwdWJsaWM6CiAgICAgYm9vbCB1c2VyU2NyaXB0c1Nob3VsZFdhaXRVbnRpbE5vdGlmaWNhdGlv
biB7IHRydWUgfTsKICAgICBTaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZyBzaG91
bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZyB7IFNob3VsZFJlbGF4VGhpcmRQYXJ0eUNv
b2tpZUJsb2NraW5nOjpObyB9OwogICAgIGJvb2wgaHR0cHNVcGdyYWRlRW5hYmxlZCB7IHRydWUg
fTsKKworICAgIFVuaXF1ZVJlZjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gcGVybWlzc2lvbkNvbnRy
b2xsZXI7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIv
U291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCA2NmFlZGE0M2M4MmQ4YmZiMzM1YmJmZWY2
MDk1ZDA0ZWZhZGI4NjIwLi5hNzQ1ZDcyMDE1Y2ZjMTk1ZmI5NmYyY2M1NTg1OGE4MzFiNzUwZWE4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJL
aXQvU291cmNlcy50eHQKQEAgLTY5NCw2ICs2OTQsNyBAQCBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYk1lZGlhS2V5U3lzdGVtQ2xpZW50LmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlci5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwCitXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlBvcHVwTWVudS5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUHJvZ3Jlc3NUcmFj
a2VyQ2xpZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5k
ZXggNWZiMzA4OTUwMTU2MjQ4NjY2MTUzYzYyNGY0MDM0ZWE0YTg4NGZkZi4uOWE4Mjk2Yjk4ZDVi
YjBkYjYzYTc4MGYxNWJmMzQyMzNlN2U0M2MxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCkBAIC0xNzIsNiArMTcyLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL01J
TUVUeXBlUmVnaXN0cnkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU3RyZWFtUmVxdWVzdC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50Lmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9QZXJtaXNzaW9uU3RhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3Jt
RXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1ByaXZhdGVDbGlja01lYXN1cmVtZW50Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9QdWJsaWNTdWZmaXguaD4KQEAgLTg0OTMsNiArODQ5NCwxMiBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6cmV2b2tlR2VvbG9jYXRpb25BdXRob3JpemF0aW9uVG9rZW4oY29u
c3QgU3RyaW5nJiBhdXRob3JpemF0aQogICAgIG1fZ2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXIucmV2b2tlQXV0aG9yaXphdGlvblRva2VuKGF1dGhvcml6YXRpb25Ub2tlbik7CiB9
CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0UGVybWlzc2lvbihjb25zdCBXZWJDb3JlOjpD
bGllbnRPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKK3sKKyAgICAvLyBGSVhNRTogU2hvdyBhIHByb21wdCBmb3IgdXNlciBpbnB1dC4K
KyAgICBjb21wbGV0aW9uSGFuZGxlcihQZXJtaXNzaW9uU3RhdGU6OkdyYW50ZWQpOworfQorCiAj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5JiBXZWJQYWdlUHJveHk6OnVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGVhMWMyMmZiNmIx
MWJlOTY4OTkyODI2NGQzYmYzZmM4NDcxMDliOGQuLjQ2MWFhY2I4ODg2YTUyMzFjY2FhZmYwNzRm
MmExYTU0YzAxNzdkNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBA
IC0yOTQsNiArMjk0LDcgQEAgc3RydWN0IExpbmtJY29uOwogc3RydWN0IE1lZGlhU3RyZWFtUmVx
dWVzdDsKIHN0cnVjdCBNZWRpYVVzYWdlSW5mbzsKIHN0cnVjdCBNb2NrV2ViQXV0aGVudGljYXRp
b25Db25maWd1cmF0aW9uOworc3RydWN0IFBlcm1pc3Npb25EZXNjcmlwdG9yOwogc3RydWN0IFBy
ZXdhcm1JbmZvcm1hdGlvbjsKIHN0cnVjdCBTZWN1cml0eU9yaWdpbkRhdGE7CiBzdHJ1Y3QgU2hh
cmVEYXRhOwpAQCAtMjExNyw2ICsyMTE4LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcmVxdWVz
dEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lKEdlb2xvY2F0aW9uSWRlbnRpZmllciwgRnJh
bWVJbmZvRGF0YSYmKTsKICAgICB2b2lkIHJldm9rZUdlb2xvY2F0aW9uQXV0aG9yaXphdGlvblRv
a2VuKGNvbnN0IFN0cmluZyYgYXV0aG9yaXphdGlvblRva2VuKTsKKyAgICB2b2lkIHJlcXVlc3RQ
ZXJtaXNzaW9uKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBl
cm1pc3Npb25EZXNjcmlwdG9yJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJt
aXNzaW9uU3RhdGUpPiYmKTsKIAogI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQog
ICAgIHZvaWQgc2VuZE1lc3NhZ2VUb1dlYlZpZXcoVXNlck1lc3NhZ2UmJik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYmMzN2I4
ZmM2YWRmM2VhZDE4NzJkMTE1NWZmMGNiZDAwOWRjMGFmOS4uMDdlMGY1NDgwMzQ2OTcwM2E2Zjcz
N2Q5OTMwN2IxZWM3MzUwY2QzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNjAyLDQgKzYwMiw2IEBAIG1lc3NhZ2VzIC0+IFdl
YlBhZ2VQcm94eSB7CiAjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgTW9k
ZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhzdHJ1Y3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQg
ZWxlbWVudENvbnRleHQsIFVSTCB1cmwsIFN0cmluZyB1dWlkLCBXZWJDb3JlOjpGbG9hdFNpemUg
c2l6ZSkKICNlbmRpZgorCisgICAgcmVxdWVzdFBlcm1pc3Npb24oc3RydWN0IFdlYkNvcmU6OkNs
aWVudE9yaWdpbiBvcmlnaW4sIHN0cnVjdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciBk
ZXNjcmlwdG9yKSAtPiAoZW51bTp1aW50OF90IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBzdGF0
ZSkgQXN5bmMKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGZlM2QzMmIzMjk1YzJjNDRmZDQ0NDRjZGQ3ZjE0MWYyNDAwNGNhMDIuLmZi
NjhhM2JkMTZkMjczODJjZDMzYzkzYjEwYmViZTI5M2IzM2E1MDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQ5Niw2ICsxNDk2LDcg
QEAKIAkJOTNBQjlCNEUyNTc1NjdFMjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3Rl
UmVhbHRpbWVNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTNBQjlCNDIyNTc0OTI4QzAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9u
UmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZS5oICovOyB9OwogCQk5M0FCOUI1NTI1NzVBMjc2MDA5
OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5M0FCOUI0RjI1NzU4OTExMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZWFsdGlt
ZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTkzQUI5QjU2
MjU3NUEyOEIwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFT
b3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQUI5QjUxMjU3NTg5MTEwMDk4QjEwRSAvKiBTcGVlY2hS
ZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVy
LmNwcCAqLzsgfTsKKwkJOTNCMEE2NzUyNkQ1QURDRjAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25D
b250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5M0IwQTY3NDI2RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAq
LzsgfTsKIAkJOTNCMjYxNEQyMjdEMTQ5RTAwQjk3QTc2IC8qIFN0b3JhZ2VNYW5hZ2VyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IyNjE0OTIyN0Qx
NDcyMDBCOTdBNzYgLyogU3RvcmFnZU1hbmFnZXIuaCAqLzsgfTsKIAkJOTNCMjYxNEUyMjdEMTRC
MTAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IyNjE0NTIyN0QxNDcwMDBCOTdBNzYgLyogTG9j
YWxTdG9yYWdlRGF0YWJhc2UuaCAqLzsgfTsKIAkJOTNCMjYxNEYyMjdEMTRCMTAwQjk3QTc2IC8q
IExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMjYxNDYyMjdEMTQ3MTAwQjk3QTc2IC8qIExvY2FsU3Rv
cmFnZURhdGFiYXNlVHJhY2tlci5oICovOyB9OwpAQCAtNDkxNCw2ICs0OTE1LDEwIEBACiAJCTkz
QUI5QjUyMjU3NTg5MTIwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1l
TWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1h
bmFnZXJNZXNzYWdlc1JlcGxpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNB
QjlCNTMyNTc1ODkxMjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVN
ZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVz
c2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNBQjlCNTQyNTc1ODkxMjAw
OThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNz
YWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGVlY2hSZWNvZ25pdGlv
blJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTNCMEE2NkQyNkQ0NTE1MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25NYW5hZ2Vy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcm1pc3Npb25NYW5h
Z2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NkUyNkQ0NTE1MDAw
QUEyMUU0IC8qIFBlcm1pc3Npb25NYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBlcm1pc3Npb25NYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTkzQjBBNjczMjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJQZXJtaXNzaW9uQ29udHJv
bGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjc0MjZENUE3MkUw
MEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5M0IyNjE0NTIyN0QxNDcwMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0
YWJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxTdG9yYWdlRGF0
YWJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMjYxNDYyMjdEMTQ3MTAw
Qjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMjYxNDcyMjdEMTQ3MTAwQjk3QTc2IC8qIExvY2FsU3Rv
cmFnZURhdGFiYXNlVHJhY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtOTYyMyw2ICs5NjI4LDE1IEBACiAJCQlwYXRoID0gU3BlZWNoOwogCQkJc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJOTNCMEE2NkMyNkQ0NTExRjAwQUEyMUU0IC8q
IFBlcm1pc3Npb24gKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAor
CQkJCTkzQjBBNjZEMjZENDUxNTAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5jcHAgKi8s
CisJCQkJOTNCMEE2NkUyNkQ0NTE1MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25NYW5hZ2VyLmggKi8s
CisJCQkpOworCQkJcGF0aCA9IFBlcm1pc3Npb247CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4i
OworCQl9OwogCQk5M0IyNjE0MzIyN0QxNDMxMDBCOTdBNzYgLyogV2ViU3RvcmFnZSAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC05ODYzLDYgKzk4NzcsNyBA
QAogCQkJCTRBNDEwRjQxMTlBRjdCMjcwMDJFQkFCNSAvKiBNZWRpYVN0cmVhbSAqLywKIAkJCQk1
MTA1QjBEMjE2MkY3QTVFMDBFMjc3MDkgLyogTmV0d29yayAqLywKIAkJCQkzMTA5OTk3NDE0NkM4
QUE4MDAyOURFQjkgLyogTm90aWZpY2F0aW9ucyAoVXNlcikgKi8sCisJCQkJOTNCMEE2NkMyNkQ0
NTExRjAwQUEyMUU0IC8qIFBlcm1pc3Npb24gKi8sCiAJCQkJMUE2RkI3QUExMUU2NEI0OTAwREIx
MzcxIC8qIFBsdWdpbnMgKi8sCiAJCQkJOTNBQjlCNDgyNTc0QzVDRTAwOThCMTBFIC8qIFNwZWVj
aCAqLywKIAkJCQk1MTE4RTk5ODFGMjk1MjU5MDAzRUY5RjUgLyogU3RvcmFnZSAqLywKQEAgLTk5
MzMsNiArOTk0OCw4IEBACiAJCQkJNTEyMTI3QzIxOTA4MjM5QTAwREFGMzVDIC8qIFdlYlBhc3Rl
Ym9hcmRPdmVycmlkZXMuaCAqLywKIAkJCQkwRjg1MEZFNDFFRDdDMzlGMDBGQjc3QTcgLyogV2Vi
UGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmNwcCAqLywKIAkJCQkwRjg1MEZFNTFFRDdDMzlGMDBG
Qjc3QTcgLyogV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmggKi8sCisJCQkJOTNCMEE2NzMy
NkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcCAqLywKKwkJCQk5
M0IwQTY3NDI2RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLywK
IAkJCQkxQTNFNzM2MDExQ0MyNjU5MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNw
cCAqLywKIAkJCQkxQTNFNzM1RjExQ0MyNjU5MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmggKi8sCiAJCQkJRDNCOTQ4NDIxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5j
cHAgKi8sCkBAIC0xMjY2Miw2ICsxMjY3OSw3IEBACiAJCQkJQTE3OThCNEMyMjJGMUJENDAwMDc2
NEJEIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBQjFGNzk5MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjg1MEZFNzFFRDdDMzlGMDBGQjc3QTcg
LyogV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0Iw
QTY3NTI2RDVBRENGMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBM0U3MzYxMTFDQzI2NTkwMDdCRDUzOSAvKiBXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNTc0NEYwMTI2MzhGQjMwMDZGMEYxMiAvKiBX
ZWJQb3B1cEl0ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUQzQjk0ODQ3MTFGRjRCNjUwMDAzMkIz
OSAvKiBXZWJQb3B1cE1lbnUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9u
Q29udHJvbGxlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWI5MDM1OGQxY2IxNjlhYzVlN2JiM2E0Yjc3OWVl
YWU5NjU2MDA1MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAKQEAgLTAsMCArMSwxMzcg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViUGVybWlz
c2lvbkNvbnRyb2xsZXIuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1dlYlBlcm1pc3Npb25D
b250cm9sbGVyOjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcihXZWJQYWdlJiBwYWdlKQorICAgIDog
bV9wYWdlKG1ha2VXZWFrUHRyKHBhZ2UpKQoreworfQorCitQZXJtaXNzaW9uU3RhdGUgV2ViUGVy
bWlzc2lvbkNvbnRyb2xsZXI6OnF1ZXJ5KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwg
V2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQoreworICAgIGlmICgh
bV9wYWdlKQorICAgICAgICByZXR1cm4gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpEZW5pZWQ7
CisKKyAgICByZXR1cm4gcXVlcnlDYWNoZShXVEZNb3ZlKG9yaWdpbiksIFdURk1vdmUoZGVzY3Jp
cHRvcikpOworfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpyZXF1ZXN0KENsaWVu
dE9yaWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImJiBkZXNjcmlw
dG9yLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFBlcm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlv
bkhhbmRsZXIpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybiBjb21wbGV0aW9u
SGFuZGxlcihQZXJtaXNzaW9uU3RhdGU6OkRlbmllZCk7CisKKyAgICBhdXRvIGNhY2hlZFJlc3Vs
dCA9IHF1ZXJ5Q2FjaGUob3JpZ2luLCBkZXNjcmlwdG9yKTsKKyAgICBpZiAoY2FjaGVkUmVzdWx0
ICE9IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0KQorICAgICAgICByZXR1cm4gY29t
cGxldGlvbkhhbmRsZXIoY2FjaGVkUmVzdWx0KTsKKworICAgIG1fcmVxdWVzdHMuYXBwZW5kKFBl
cm1pc3Npb25SZXF1ZXN0IHsgV1RGTW92ZShvcmlnaW4pLCBXVEZNb3ZlKGRlc2NyaXB0b3IpLCBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSB9KTsKKyAgICB0cnlQcm9jZXNzaW5nUmVxdWVzdCgp
OworfQorCitQZXJtaXNzaW9uU3RhdGUgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnF1ZXJ5Q2Fj
aGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBvcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlBl
cm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQoreworICAgIGlmIChtX2NhY2hlZFBlcm1p
c3Npb25FbnRyaWVzLmNvbnRhaW5zKG9yaWdpbikpIHsKKyAgICAgICAgYXV0byBwZXJtaXNzaW9u
RW50cmllcyA9IG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXMuZ2V0KG9yaWdpbik7CisgICAgICAg
IGZvciAoYXV0byYgZW50cnkgOiBwZXJtaXNzaW9uRW50cmllcykgeworICAgICAgICAgICAgaWYg
KGVudHJ5LmZpcnN0ID09IGRlc2NyaXB0b3IpCisgICAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5
LnNlY29uZDsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBXZWJDb3JlOjpQZXJtaXNz
aW9uU3RhdGU6OlByb21wdDsKK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6dXBk
YXRlQ2FjaGUoY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlBlcm1p
c3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3Rh
dGUpCit7CisgICAgYXV0byYgZW50cmllcyA9IG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXMuZW5z
dXJlKG9yaWdpbiwgWyZdKCkgeworICAgICAgICByZXR1cm4gVmVjdG9yPFBlcm1pc3Npb25FbnRy
eT4geyB9OworICAgIH0pLml0ZXJhdG9yLT52YWx1ZTsKKyAgICBmb3IgKGF1dG8mIGVudHJ5IDog
ZW50cmllcykgeworICAgICAgICBpZiAoZW50cnkuZmlyc3QgPT0gZGVzY3JpcHRvcikgeworICAg
ICAgICAgICAgaWYgKGVudHJ5LnNlY29uZCA9PSBzdGF0ZSkKKyAgICAgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgICAgIGVudHJ5LnNlY29uZCA9IHN0YXRlOworICAgICAgICAgICAgcGVy
bWlzc2lvbkNoYW5nZWQob3JpZ2luLCBkZXNjcmlwdG9yLCBzdGF0ZSk7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xs
ZXI6OnRyeVByb2Nlc3NpbmdSZXF1ZXN0KCkKK3sKKyAgICBpZiAobV9yZXF1ZXN0cy5pc0VtcHR5
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIHdoaWxlICghbV9yZXF1ZXN0cy5pc0VtcHR5KCkp
IHsKKyAgICAgICAgYXV0byYgY3VycmVudFJlcXVlc3QgPSBtX3JlcXVlc3RzLmZpcnN0KCk7Cisg
ICAgICAgIGlmIChjdXJyZW50UmVxdWVzdC5pc1dhaXRpbmdGb3JSZXBseSkKKyAgICAgICAgICAg
IHJldHVybjsKKworICAgICAgICAvLyBDYWNoZSBtYXkgaGF2ZSBjaGFuZ2VkIGJldHdlZW4gcmVx
dWVzdHMuCisgICAgICAgIGF1dG8gY2FjaGVkUmVzdWx0ID0gcXVlcnlDYWNoZShjdXJyZW50UmVx
dWVzdC5vcmlnaW4sIGN1cnJlbnRSZXF1ZXN0LmRlc2NyaXB0b3IpOworICAgICAgICBpZiAoY2Fj
aGVkUmVzdWx0ICE9IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0KSB7CisgICAgICAg
ICAgICBhdXRvIHRha2VuUmVxdWVzdCA9IG1fcmVxdWVzdHMudGFrZUZpcnN0KCk7CisgICAgICAg
ICAgICB0YWtlblJlcXVlc3QuY29tcGxldGlvbkhhbmRsZXIoY2FjaGVkUmVzdWx0KTsKKyAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKKyAgICAgICAgY3VycmVudFJlcXVlc3QuaXNX
YWl0aW5nRm9yUmVwbHkgPSB0cnVlOworICAgICAgICBtX3BhZ2UtPnNlbmRXaXRoQXN5bmNSZXBs
eShNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0UGVybWlzc2lvbihjdXJyZW50UmVxdWVz
dC5vcmlnaW4sIGN1cnJlbnRSZXF1ZXN0LmRlc2NyaXB0b3IpLCBbdGhpcywgd2Vha1RoaXMgPSBt
YWtlV2Vha1B0cigqdGhpcyldKGF1dG8gc3RhdGUpIHsKKyAgICAgICAgICAgIGlmICghd2Vha1Ro
aXMpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBhdXRvIHRha2VuUmVx
dWVzdCA9IG1fcmVxdWVzdHMudGFrZUZpcnN0KCk7CisgICAgICAgICAgICB0YWtlblJlcXVlc3Qu
Y29tcGxldGlvbkhhbmRsZXIoc3RhdGUpOworICAgICAgICAgICAgdXBkYXRlQ2FjaGUodGFrZW5S
ZXF1ZXN0Lm9yaWdpbiwgdGFrZW5SZXF1ZXN0LmRlc2NyaXB0b3IsIHN0YXRlKTsKKworICAgICAg
ICAgICAgdHJ5UHJvY2Vzc2luZ1JlcXVlc3QoKTsKKyAgICAgICAgfSk7CisgICAgfQorfQorCit2
b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjphZGRPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNz
aW9uT2JzZXJ2ZXImIG9ic2VydmVyKQoreworICAgIG1fb2JzZXJ2ZXJzLmFkZChvYnNlcnZlcik7
Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnJlbW92ZU9ic2VydmVyKFdlYkNv
cmU6OlBlcm1pc3Npb25PYnNlcnZlciYgb2JzZXJ2ZXIpCit7CisgICAgbV9vYnNlcnZlcnMucmVt
b3ZlKG9ic2VydmVyKTsKK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cGVybWlz
c2lvbkNoYW5nZWQoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBvcmlnaW4sIGNvbnN0IFdl
YkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBXZWJDb3JlOjpQZXJtaXNz
aW9uU3RhdGUgc3RhdGUpCit7CisgICAgZm9yIChhdXRvJiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJz
KSB7CisgICAgICAgIGlmIChvYnNlcnZlci5vcmlnaW4oKSA9PSBvcmlnaW4gJiYgb2JzZXJ2ZXIu
ZGVzY3JpcHRvcigpID09IGRlc2NyaXB0b3IpCisgICAgICAgICAgICBvYnNlcnZlci5zdGF0ZUNo
YW5nZWQoc3RhdGUpOworICAgIH0KK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lv
bkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjNmQ1MTBjNzEwZTUzZTk2YWM2
YjQ4MjU3N2QzZTQyN2FkYmIxZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaApAQCAtMCww
ICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3Jl
L1Blcm1pc3Npb25Db250cm9sbGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uRGVz
Y3JpcHRvci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViUGVybWlzc2lvbkNv
bnRyb2xsZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6UGVybWlzc2lvbkNvbnRyb2xsZXIgewor
cHVibGljOgorICAgIGV4cGxpY2l0IFdlYlBlcm1pc3Npb25Db250cm9sbGVyKFdlYlBhZ2UmKTsK
KworcHJpdmF0ZToKKyAgICAvLyBXZWJDb3JlOjpQZXJtaXNzaW9uQ29udHJvbGxlcgorICAgIFdl
YkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBxdWVyeShXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2Vi
Q29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImJikgZmluYWw7CisgICAgdm9pZCByZXF1ZXN0KFdl
YkNvcmU6OkNsaWVudE9yaWdpbiYmLCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYpIGZpbmFs
OworICAgIHZvaWQgYWRkT2JzZXJ2ZXIoV2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyJikgZmlu
YWw7CisgICAgdm9pZCByZW1vdmVPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXIm
KSBmaW5hbDsKKworICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBxdWVyeUNhY2hlKGNvbnN0
IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlw
dG9yJik7CisgICAgdm9pZCB1cGRhdGVDYWNoZShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4m
LCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIFdlYkNvcmU6OlBlcm1pc3Np
b25TdGF0ZSk7CisgICAgdm9pZCB0cnlQcm9jZXNzaW5nUmVxdWVzdCgpOworICAgIHZvaWQgcGVy
bWlzc2lvbkNoYW5nZWQoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29y
ZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImLCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpOworCisg
ICAgV2Vha1B0cjxXZWJQYWdlPiBtX3BhZ2U7CisgICAgV2Vha0hhc2hTZXQ8V2ViQ29yZTo6UGVy
bWlzc2lvbk9ic2VydmVyPiBtX29ic2VydmVyczsKKworICAgIHVzaW5nIFBlcm1pc3Npb25FbnRy
eSA9IHN0ZDo6cGFpcjxXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciwgV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXRlPjsKKyAgICBIYXNoTWFwPFdlYkNvcmU6OkNsaWVudE9yaWdpbiwgVmVjdG9y
PFBlcm1pc3Npb25FbnRyeT4+IG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXM7CisKKyAgICBzdHJ1
Y3QgUGVybWlzc2lvblJlcXVlc3QgeworICAgICAgICBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3Jp
Z2luOworICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yOwor
ICAgICAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+
IGNvbXBsZXRpb25IYW5kbGVyOworICAgICAgICBib29sIGlzV2FpdGluZ0ZvclJlcGx5IHsgZmFs
c2UgfTsKKyAgICB9OworICAgIERlcXVlPFBlcm1pc3Npb25SZXF1ZXN0PiBtX3JlcXVlc3RzOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAwNGUzYWUyMDE0M2YyZjNkYmQyMDY0YTMwMmYwMWI4
NGVkY2E5NjQ1Li43MTFlZDhlOTIyNzZlYjkzMWY1NDQ1Yzc0ZmQ2YzNiMGU5ZWI1NDFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTIxLDYg
KzEyMSw3IEBACiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJX
ZWJQYXltZW50Q29vcmRpbmF0b3IuaCIKICNpbmNsdWRlICJXZWJQZXJmb3JtYW5jZUxvZ2dpbmdD
bGllbnQuaCIKKyNpbmNsdWRlICJXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUg
IldlYlBsdWdpbkluZm9Qcm92aWRlci5oIgogI2luY2x1ZGUgIldlYlBvcHVwTWVudS5oIgogI2lu
Y2x1ZGUgIldlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCIKQEAgLTU2Myw3ICs1NjQsOCBAQCBX
ZWJQYWdlOjpXZWJQYWdlKFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFy
YW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRnJhbWVMb2Fk
ZXJDbGllbnQ+KG1fbWFpbkZyYW1lLmNvcHlSZWYoKSksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8
V2ViU3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4obV9pZGVudGlmaWVyKSwKICAgICAgICAgbWFr
ZVVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCp0aGlzKSwKLSAgICAgICAgV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkuYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KCkKKyAgICAgICAgV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkuYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KCksCisgICAgICAg
IG1ha2VVbmlxdWVSZWY8V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI+KCp0aGlzKQogICAgICk7CiAg
ICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudCgq
dGhpcyk7CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9y
TWFjLmgKaW5kZXggYmJmOGQxYmI4Y2U2YzMwMWRjM2VmMjAxOTUzZDgyZmVjMDVlZGQ1OC4uNTZi
YzgxYzc4ZjM0YWE0NTM0NzkzNWQyNzFlYzU3MGMzZmM3ZWU1MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVz
aE1vbml0b3JNYWMuaApAQCAtNTAsNyArNTAsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgc3RhcnRO
b3RpZmljYXRpb25NZWNoYW5pc20oKSBmaW5hbDsKICAgICB2b2lkIHN0b3BOb3RpZmljYXRpb25N
ZWNoYW5pc20oKSBmaW5hbDsKIAotICAgIHZvaWQgYWRqdXN0UHJlZmVycmVkRnJhbWVzUGVyU2Vj
b25kKEZyYW1lc1BlclNlY29uZCkgZmluYWw7CisgICAgdm9pZCBhZGp1c3RQcmVmZXJyZWRGcmFt
ZXNQZXJTZWNvbmQoV2ViQ29yZTo6RnJhbWVzUGVyU2Vjb25kKSBmaW5hbDsKIAogICAgIERpc3Bs
YXlMaW5rT2JzZXJ2ZXJJRCBtX29ic2VydmVySUQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNv
cmU6OlJ1bkxvb3BPYnNlcnZlcj4gbV9ydW5Mb29wT2JzZXJ2ZXI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggY2Q2YTVmNTcyOTk0ZjdlYzRmYmRlNzYz
N2RmODY3YmQ1MmYzYzgzNC4uNDgwM2ViYzllYzc3ZTg4ZTE1YjI4ZTJiZWRjMTZkNjczYTcyODlj
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTk1
LDYgKzE5NSw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUv
UGFnZUNvbmZpZ3VyYXRpb24uaD4KICNpbXBvcnQgPFdlYkNvcmUvUGF0aFV0aWxpdGllcy5oPgor
I2ltcG9ydCA8V2ViQ29yZS9QZXJtaXNzaW9uQ29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5oPgogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybVNj
cmVlbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9Qcm9ncmVzc1RyYWNrZXIuaD4KQEAgLTE1MzYsNyAr
MTUzNyw4IEBAIHN0YXRpYyB2b2lkIFdlYktpdEluaXRpYWxpemVHYW1lcGFkUHJvdmlkZXJJZk5l
Y2Vzc2FyeSgpCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KCks
CiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6RHVtbXlTcGVlY2hSZWNvZ25pdGlvblBy
b3ZpZGVyPigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQ
cm92aWRlcj4oKSwKLSAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNy
ZWF0ZShbW3NlbGYgcHJlZmVyZW5jZXNdIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdKQorICAgICAg
ICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJl
bmNlc10gcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0pLAorICAgICAgICBtYWtlVW5pcXVlUmVmPFdl
YkNvcmU6OkR1bW15UGVybWlzc2lvbkNvbnRyb2xsZXI+KCkKICAgICApOwogI2lmICFQTEFURk9S
TShJT1NfRkFNSUxZKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBX
ZWJDaHJvbWVDbGllbnQoc2VsZik7CkBAIC0xODE0LDcgKzE4MTYsOCBAQCBzdGF0aWMgdm9pZCBX
ZWJLaXRJbml0aWFsaXplR2FtZXBhZFByb3ZpZGVySWZOZWNlc3NhcnkoKQogICAgICAgICBtYWtl
VW5pcXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xpZW50PigpLAogICAgICAgICBtYWtlVW5pcXVlUmVm
PFdlYkNvcmU6OkR1bW15U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4oKSwKICAgICAgICAgbWFr
ZVVuaXF1ZVJlZjxXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCksCi0gICAgICAgIFdl
YkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoW1tzZWxmIHByZWZlcmVuY2Vz
XSBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSkKKyAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJl
Z2lzdHJ5OjpnZXRPckNyZWF0ZShbW3NlbGYgcHJlZmVyZW5jZXNdIHByaXZhdGVCcm93c2luZ0Vu
YWJsZWRdKSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpEdW1teVBlcm1pc3Npb25D
b250cm9sbGVyPigpCiAgICAgKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQg
PSBuZXcgV2ViQ2hyb21lQ2xpZW50SU9TKHNlbGYpOwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggZjEzNWZkYzMwOTc1NjA5NzZkYTgwOGM5OTg5ZjAwNzNiYzkxZDRlOS4uODhhYmIw
M2I2YjZmMzgyZTFiMzE2YmY5YmFjMmYzY2Y0MDg1MjQwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDIxLTA4LTI2ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAg
IEFkZCBzdHVicyBmb3IgUGVybWlzc2lvbnMgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzMzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIx
LTA4LTI1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgQ3Jhc2ggaW4gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnJlc2hhcGVEaXNwbGF5QnVm
ZmVyQmFja2luZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOGE2NjUwZjg4Mjg0
OTk4MDJhOWQyMGVmZTY5YjU0MzM3YjY0NGI4Zi4uMzlhZTI4Zjc0NDNiNGQ0M2MxMTQ0NzY5MTNl
ZGZmNDEwMzYwNDVhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTkgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Np
b25zL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24tZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJt
aXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lv
bnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1m
ZXRjaC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQ6CisKIDIwMjEtMDgtMjUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBbTWFjIHdrMl0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVwb3J0aW5nLXRvLWZyYW1lLW93bmVy
Lmh0dHBzLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2YmRl
MmY5NGVhZDIxN2I4NjQ0MzI1NzE4YzFmNGM2MjExZjI3NjcwLi44YmM5MzY4ZDhhOGVkMjhiYWFh
NTQxM2RiZjhhYmYyYzE2ZmQxOTFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE5Niw2ICsxOTYs
NyBAQCBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3Blcm1pc3Npb24tZXJyb3IuaHRtbCBbIFNraXAg
XQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1yZWNvZ25pdGlvbi10aGVuLXN0b3AuaHRt
bCBbIFNraXAgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1zZWNvbmQtcmVjb2duaXRp
b24uaHRtbCBbIFNraXAgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9pb3MvIFsgU2tpcCBdCitp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zLyBbIFNraXAgXQogCiAj
IGFwcC1wcml2YWN5LXJlcG9ydCB0ZXN0cyByZWx5IG9uIFdlYktpdEFkZGl0aW9ucwogaHR0cC90
ZXN0cy9hcHAtcHJpdmFjeS1yZXBvcnQvIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3Mu
YW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGI4NGQ0
MGQ3NjVmMjA0MDgzZGVmOGI2NzcwMGM0MjA0NGIwMzQ2OTguLjBjNGJhYTBjZmVlMDFmOTRjZWFm
NGFmN2ZiMzhmODliNGZiNmJiZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CkBAIC0xOSwyOSArMTksMjkgQEAg
UEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBuYW1lcyBh
cmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JMYW5ndWFn
ZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVz
IE5hdmlnYXRvck9uTGluZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2
aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVyIG5hbWVz
IGFyZSB1bmlxdWUKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVk
IHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0
dXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVy
dHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1p
c3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNz
aW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwot
RkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJt
aXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2lu
ZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0
eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQ
ZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlz
c2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1p
c3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5n
Ci1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlz
c2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcK
LUZBSUwgUGVybWlzc2lvblN0YXR1cyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHBlcm1p
c3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFs
dWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwgU3RyaW5naWZp
Y2F0aW9uIG9mIHBlcm1pc3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNl
cHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0
ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIK
LUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJzdGF0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFs
czogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBu
dWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
cGVybWlzc2lvblN0YXR1cyIKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1p
c3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNoYW5nZSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0
aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjog
Q2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwgUGVybWlzc2lvbnMg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJt
aXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBl
cm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9i
amVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3Np
bmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5
ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25z
dHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9u
cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJv
cGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwot
RkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeShvYmplY3QpIGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Np
b25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlz
c2lvbnMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMg
YXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQg
Z290ICJ1bmRlZmluZWQiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuYXZpZ2F0b3IucGVybWlz
c2lvbnMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0
IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogbmF2aWdh
dG9yLnBlcm1pc3Npb25zIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVlcnkob2JqZWN0KSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBl
Y3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIFBlcm1pc3Npb25zIGludGVy
ZmFjZTogY2FsbGluZyBxdWVyeShvYmplY3QpIG9uIG5hdmlnYXRvci5wZXJtaXNzaW9ucyB3aXRo
IHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9lcXVhbHM6IHdy
b25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgot
RkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGVybWlzc2lvbnMgYXNzZXJ0X3Ry
dWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJwZXJtaXNzaW9u
cyIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogbmF2
aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGVybWlzc2lvbnMiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInBlcm1pc3Npb25zIiBub3QgZm91bmQg
aW4gcHJvdG90eXBlIGNoYWluCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50
ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1Mg
UGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1Mg
UGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1Mg
UGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZQorUEFTUyBQZXJtaXNz
aW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlCitQQVNTIFBlcm1pc3Npb25T
dGF0dXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBwZXJtaXNzaW9uU3RhdHVzCitQQVNT
IFN0cmluZ2lmaWNhdGlvbiBvZiBwZXJtaXNzaW9uU3RhdHVzCitQQVNTIFBlcm1pc3Npb25TdGF0
dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3Rh
dGUiIHdpdGggdGhlIHByb3BlciB0eXBlCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNl
OiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jaGFuZ2UiIHdpdGgg
dGhlIHByb3BlciB0eXBlCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJm
YWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1l
CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
ImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5z
Y29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24g
cXVlcnkob2JqZWN0KQorUEFTUyBQZXJtaXNzaW9ucyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNl
IG9mIG5hdmlnYXRvci5wZXJtaXNzaW9ucworUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmF2aWdh
dG9yLnBlcm1pc3Npb25zCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogbmF2aWdhdG9yLnBl
cm1pc3Npb25zIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVlcnkob2JqZWN0KSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBjYWxsaW5nIHF1ZXJ5KG9i
amVjdCkgb24gbmF2aWdhdG9yLnBlcm1pc3Npb25zIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVz
dCB0aHJvdyBUeXBlRXJyb3IKK1BBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIHBl
cm1pc3Npb25zCitQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IG5hdmlnYXRvciBtdXN0IGluaGVy
aXQgcHJvcGVydHkgInBlcm1pc3Npb25zIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Np
b25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndv
cmtlci1leHBlY3RlZC50eHQKaW5kZXggNTI1NjAyZDE2ZDdmMGY1NGNhOGVmMDNmN2ZjZjViNGVl
ZWYzMTY5Ny4uMDYyYjI5NTdmMzE1NTFiMzUyYTQ5NTQxNmMzZjRhYmZhNTc5OWU2ZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMTksMjUgKzE5LDI1IEBAIFBBU1MgV29ya2VyTmF2
aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFT
UyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JPbkxp
bmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRl
cyBOYXZpZ2F0b3JDb25jdXJyZW50SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCi1G
QUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVy
bWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBv
YmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9u
U3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBu
YW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
IlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBt
aXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhw
ZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lv
blN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIg
ZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlz
c2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1
cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNz
aW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4
cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCitQQVNTIFBlcm1pc3Np
b25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IG9iamVjdAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQ
QVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBlcm1pc3Np
b25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25z
dHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5z
Y29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBzdGF0ZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIG9u
Y2hhbmdlCiBGQUlMIFBlcm1pc3Npb25TdGF0dXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBv
ZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdo
ZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCiBGQUlMIFN0
cmluZ2lmaWNhdGlvbiBvZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0
ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290
IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25T
dGF0dXMiCiBGQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVz
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RhdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2Vy
dF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhw
ZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCiBGQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNl
OiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jaGFuZ2UiIHdpdGgg
dGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4g
ZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBlcm1p
c3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBv
YmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwot
RkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0
ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVy
ZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25z
IiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBw
cm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVy
bWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFi
bGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1p
c3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2JqZWN0
KSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQ
ZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCitQQVNT
IFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BB
U1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBlcm1pc3Npb25zIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0
eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BB
U1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2JqZWN0KQogRkFJTCBQ
ZXJtaXNzaW9ucyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmlnYXRvci5wZXJtaXNz
aW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3Qi
IGJ1dCBnb3QgInVuZGVmaW5lZCIKIEZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5w
ZXJtaXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJv
YmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKIEZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBu
YXZpZ2F0b3IucGVybWlzc2lvbnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeShvYmplY3Qp
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0
IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBl
cm1pc3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXgg
YzNlODYwNWY4NzI4N2E4MDM4MWY1ZGI4MDZjZGQwNWEyNTU2NWRkZS4uYzJmZDY1ZThkNDAwMmE3
MjMwMTg3YTYxZjUxYzI4MmVmYzFjNmJlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBA
CiAKLUZBSUwgVGVzdCBXZWIgTkZDIFBlcm1pc3Npb24uIHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKQorUEFTUyBUZXN0
IFdlYiBORkMgUGVybWlzc2lvbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0
dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMt
cXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQKaW5k
ZXggZTQyZGRhMjYxMmYyNTdiN2YwMmJiZWVmNjU2MzNiMjViNzM2NDdhNS4uYzRiYTI0OTJlOTkx
OTlkNjY2MDVhOGMwMWFhMDE1MWI5NjI0NjA3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVy
eS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Bl
cm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0
ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCi1GQUlMIFBlcm1pc3Npb25zLnN0YXRlIGlzICJwcm9t
cHQiIHdpdGggYWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLiBhc3Nl
cnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhw
ZWN0ZWQgKHN0cmluZykgInByb21wdCIgYnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIFBlcm1p
c3Npb25zLnN0YXRlIGlzICJwcm9tcHQiIHdpdGggYWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBjcm9z
cy1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1
ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJwcm9tcHQiIGJ1dCBnb3QgKG9i
amVjdCkgbnVsbAotRkFJTCBQZXJtaXNzaW9uLnN0YXRlIGlzICJwcm9tcHQiIGluIHNhbWUtb3Jp
Z2luIGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgi
Z2VvbG9jYXRpb24iKSBleHBlY3RlZCAoc3RyaW5nKSAicHJvbXB0IiBidXQgZ290IChvYmplY3Qp
IG51bGwKLUZBSUwgUGVybWlzc2lvbi5zdGF0ZSBpcyAiZGVuaWVkIiBpbiBjcm9zcy1vcmlnaW4g
aWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KCJnZW9s
b2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJkZW5pZWQiIGJ1dCBnb3QgKG9iamVjdCkgbnVs
bAorUEFTUyBQZXJtaXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93PSJnZW9sb2Nh
dGlvbiIgaW4gc2FtZS1vcmlnaW4gaWZyYW1lcy4KK1BBU1MgUGVybWlzc2lvbnMuc3RhdGUgaXMg
InByb21wdCIgd2l0aCBhbGxvdz0iZ2VvbG9jYXRpb24iIGluIGNyb3NzLW9yaWdpbiBpZnJhbWVz
LgorUEFTUyBQZXJtaXNzaW9uLnN0YXRlIGlzICJwcm9tcHQiIGluIHNhbWUtb3JpZ2luIGlmcmFt
ZXMuCitGQUlMIFBlcm1pc3Npb24uc3RhdGUgaXMgImRlbmllZCIgaW4gY3Jvc3Mtb3JpZ2luIGlm
cmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9j
YXRpb24iKSBleHBlY3RlZCAiZGVuaWVkIiBidXQgZ290ICJwcm9tcHQiCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
cGVybWlzc2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5h
bWUtZXhwZWN0ZWQudHh0CmluZGV4IDExZmIxYTBkNjEyNGRhOTRlMDAxZTdkZDkyM2UwMTdjZTY5
ZTc4YmEuLjBlNGViY2M0N2NjYjkzODkwOGVjZTg0Y2M2OGYxNTNkMDg1Mzc5YTYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lv
bnMvcGVybWlzc2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0
YXR1cy1uYW1lLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IFBlcm1p
c3Npb25TdGF0dXMncyBuYW1lIGF0dHJpYnV0ZS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykiCitQQVNT
IFRlc3QgUGVybWlzc2lvblN0YXR1cydzIG5hbWUgYXR0cmlidXRlLgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Nj
cmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2st
cGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXggODVjN2JiYTVjMmIyNDU5M2Y1MWUyMTQ2YmUy
NWJkMTZmYTA1ZmY1OC4uOGUwZTcwMmQxZjJkZDQ4Y2E2OTk5Y2E1ZmI5NGU1MTJhNjQ1YmU5YiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
c2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAK
IAotRkFJTCBUZXN0ICJzY3JlZW4td2FrZS1sb2NrIiBQZXJtaXNzaW9uLiBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMu
cXVlcnknKSIKK1BBU1MgVGVzdCAic2NyZWVuLXdha2UtbG9jayIgUGVybWlzc2lvbi4KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJt
aXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rl
c3QtYmFja2dyb3VuZC1mZXRjaC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAppbmRleCA5YTk0MjY5
ZmI3NDM4ZmM2M2JlMThkMDBjZDI5OTdjYzU5YmE4ZGQ2Li43ODViYjU4NWY1MTU5NWZkZWEwNTIz
NDE2NzIzODEzYzhkYjIzMTU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1mZXRjaC1wZXJt
aXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1mZXRjaC1wZXJtaXNzaW9u
LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IEJhY2tncm91bmQgRmV0
Y2ggUGVybWlzc2lvbi4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25h
dmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeScpCitQQVNTIFRlc3QgQmFja2dyb3VuZCBGZXRjaCBQ
ZXJtaXNzaW9uLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dyb3VuZC1zeW5jLXBl
cm1pc3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1wZXJt
aXNzaW9uLWV4cGVjdGVkLnR4dAppbmRleCAzMTZkMzUxYTBlMDc1NGIxZTUwOWJmM2NhMGFkYTRi
NjRkZTM1NmE3Li40ZTlmMzdhODc1NmViMTdhMmZiODRmMTE3MDJhMTQzYTg2YjcwOTliIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1p
c3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dyb3VuZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3Rl
ZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCBQZXJpb2RpYyBCYWNrZ3JvdW5kIFN5
bmMgUGVybWlzc2lvbi4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykiCitGQUlMIFRlc3QgUGVyaW9kaWMg
QmFja2dyb3VuZCBTeW5jIFBlcm1pc3Npb24uIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0
YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4
IGRmOTAxMDkwNGQ1NzdlODVhMDc2NjY3YTkzN2FkNzdlNmQ4ZjU5NTcuLmM2OGQzY2EwYjMwY2Rj
ZWU3ZGUxZWI3YmU0MTM2OWEwYmVkYjgzYmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRv
ci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTE4LDYgKzE4LDcgQEAgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGlzIE9LCiBuYXZpZ2F0b3IubWVkaWFTZXNzaW9uIGlzIE9L
CiBuYXZpZ2F0b3IubWltZVR5cGVzIGlzIE9LCiBuYXZpZ2F0b3Iub25MaW5lIGlzIE9LCituYXZp
Z2F0b3IucGVybWlzc2lvbnMgaXMgT0sKIG5hdmlnYXRvci5wbGF0Zm9ybSBpcyBPSwogbmF2aWdh
dG9yLnBsdWdpbnMgaXMgT0sKIG5hdmlnYXRvci5wcm9kdWN0IGlzIE9LCkBAIC01MSw2ICs1Miw3
IEBAIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBpcyBPSwogbmF2aWdhdG9yLm1lZGlhU2Vz
c2lvbiBpcyBPSwogbmF2aWdhdG9yLm1pbWVUeXBlcyBpcyBPSwogbmF2aWdhdG9yLm9uTGluZSBp
cyBPSworbmF2aWdhdG9yLnBlcm1pc3Npb25zIGlzIE9LCiBuYXZpZ2F0b3IucGxhdGZvcm0gaXMg
T0sKIG5hdmlnYXRvci5wbHVnaW5zIGlzIE9LCiBuYXZpZ2F0b3IucHJvZHVjdCBpcyBPSwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2Y2VlMGZhMmQ0ZDVk
ZmY2YjlkNjE4MjdlZWUzZTkxNGQ5NzliOTQ1Li40MDhjOGI0MWJjNDNjYTFiMzNmMDY0NzkxMGEy
YmE1YzY2MzM2ZGJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtODYwLDQgKzg2MCw1IEBAIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vcGVybWlzc2lvbi1l
cnJvci5odG1sIFsgUGFzcyBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXJlY29nbml0
aW9uLXRoZW4tc3RvcC5odG1sIFsgUGFzcyBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0
LXNlY29uZC1yZWNvZ25pdGlvbi5odG1sIFsgUGFzcyBdCiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVu
LWVudGVyLXdoaWxlLWV4aXRpbmcuaHRtbCBbIFBhc3MgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy8gWyBQYXNzIF0KIAo=
</data>
<flag name="commit-queue"
          id="459633"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436575</attachid>
            <date>2021-08-26 15:02:42 -0700</date>
            <delta_ts>2021-08-26 15:58:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210826150241.patch</filename>
            <type>text/plain</type>
            <size>123069</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLjAwYTQ0NjI0ZDI5YWZhNmM4YmNjZTcxM2MyZWU4N2U5Zjc5NTk4
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIxLTA4LTI1
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92
ZSBzb21lIGlPUy1zcGVjaWZpYyBjb21waWxlLXRpbWUgZ3VhcmRzIHRoYXQgYXJlIG5vIGxvbmdl
ciBuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYTkzNTJkZDhlZjlkY2Q5NWZiZDY3MTJiNTRlYjRlZWZm
ZWQyNWMyLi5kODI4YTAwNWQ2NDhiMDgxOWJhMGI5OTdiY2FhMGY1N2I5MjkyNzVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNjkgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiaW5kaW5ncyBj
b2RlIGFuZCBhIGZlYXR1cmUgZmxhZyBmb3IgUGVybWlzc2lvbnMgQVBJLgorICAgICAgICBTcGVj
OiBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLiBSZWJhc2VsaW5lIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9kdWxlcy9w
ZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAg
ICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6b3BlcmF0b3I9
PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yOjpkZWNvZGUp
OgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmg6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZl
ci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OlBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6flBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6c3RhdGVDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUg
Y29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uczo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpQZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJtaXNzaW9uczo6bmF2aWdhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25z
OjpxdWVyeSk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbDogQWRk
ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIGRv
bS9UYXNrU291cmNlLmg6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMpOgorICAgICAg
ICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX3Blcm1pc3Npb25Db250cm9s
bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnBlcm1pc3Npb25Db250cm9sbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Om1faHR0cHNVcGdyYWRlRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
ICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24pOgor
ICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKKwogMjAyMS0wOC0yNSAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGlu
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggNDI0MWIyZTZmYTc4NTRmMTVmZDMzYzZjYTljN2ZlYjM3YmMxZGIyMS4uMDM2Yzkz
YjFjMmI5YzE0NzkwZTI1OTVmM2IyOGVmZWVlODRmNGMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MyBAQAorMjAyMS0wOC0yNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2V0IHVwIGJhc2ljIGluZnJhc3RyY3R1cmUgb2Yg
cGVybWlzc2lvbiBnZXR0aW5nIGFuZCBzZXR0aW5nLgorCisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBl
cm1pc3Npb25Db250cm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRy
b2xsZXI6OnF1ZXJ5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6
OnJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVl
cnlDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRh
dGVDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQ
cm9jZXNzaW5nUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjphZGRPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjpyZW1vdmVPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250
cm9sbGVyOjpwZXJtaXNzaW9uQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fYXBwSGlnaGxp
Z2h0c1Zpc2libGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFjLmg6CisKIDIwMjEtMDgtMjYgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25v
cmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW2N1cmxdIFJFR1JFU1NJT04ocjI4MTE1OCk6
IGZldGNoKCdodHRwOi8vbG9jYWxob3N0LycpIGZyb20gYWJvdXQ6YmxhbmsgZG9lc24ndCBlbWl0
IHRoZSBjb25zb2xlIGVycm9yIG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRl
eCA0NWE1NDg2ZTA1ODA1ZDk3YmMxZTQ4YjQ0ZjkzZGEzMDMyOGE2YTFkLi5mZjc3YjQ5NWE4MmVj
OTI4MzQ5MTU4NGQ2MWFkZDJkZjA5NDg5NzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5h
bWU6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IGluaXRTaW1wbGVIVE1MRG9jdW1l
bnRXaXRoU3R5bGU6ZnJhbWU6cHJlZmVyZW5jZXM6Z3JvdXBOYW1lOl0pOgorCiAyMDIxLTA4LTI0
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gSW1wbGVt
ZW50IHByb2Nlc3Mtc3dhcHBpbmcgYmFzZWQgb24gQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xpY3kg
SFRUUCBoZWFkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9X
ZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZl
cmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXggMTg1YTVhYzBmNDU0
Yzc2YzAzNDc5MmFkMTg1NzYxZmNjYTY5NDk5MS4uNTU1NDYwMGRiYzY2NThmYTFjYWIyZDA1OGNk
NTM1ZGFmNTI5MzFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2Vz
L1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKQEAgLTg4MSw2ICs4
ODEsMTggQEAgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ1NlbnNpdGl2ZVByb3BlcnRpZXNFbmFi
bGVkOgogICAgIFdlYkNvcmU6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogCitQZXJtaXNzaW9uc0FQ
SUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJQZXJtaXNzaW9u
cyBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQZXJtaXNzaW9ucyBB
UEkiCisgIGRlZmF1bHRWYWx1ZToKKyAgICBXZWJLaXRMZWdhY3k6CisgICAgICBkZWZhdWx0OiBm
YWxzZQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViQ29yZToKKyAg
ICAgIGRlZmF1bHQ6IGZhbHNlCisKIFByaXZhdGVDbGlja01lYXN1cmVtZW50RGVidWdNb2RlRW5h
YmxlZDoKICAgdHlwZTogYm9vbAogICBodW1hblJlYWRhYmxlTmFtZTogIlByaXZhdGUgQ2xpY2sg
TWVhc3VyZW1lbnQgRGVidWcgTW9kZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYmJiODQyYTUz
OWExMDg3YzllMWRiNDYzZDAxOWRkMmIxMjMxNDJjOS4uMDdlNWUwNTU4ZjZkZGQ0MTFlYzRjZjU5
NmRlMzQzZjQ4M2MwOTc3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ4LDYgKzQ4LDcgQEAg
c2V0KFdlYkNvcmVfUFJJVkFURV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9E
SVJ9L01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzIgogICAgICIke1dFQkNPUkVfRElSfS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QiCisgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGVybWlzc2lvbnMiCiAgICAg
IiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGljdHVyZWlucGljdHVyZSIKICAgICAiJHtXRUJDT1JF
X0RJUn0vTW9kdWxlcy9wbHVnaW5zIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3JlbW90
ZXBsYXliYWNrIgpAQCAtMjAxLDYgKzIwMiw3IEBAIHNldChXZWJDb3JlX0lETF9JTkNMVURFUwog
ICAgIE1vZHVsZXMvbW9kZWwtZWxlbWVudAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucwogICAg
IE1vZHVsZXMvcGF5bWVudHJlcXVlc3QKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zCiAgICAgTW9k
dWxlcy9zcGVlY2gKICAgICBNb2R1bGVzL3N0cmVhbXMKICAgICBNb2R1bGVzL3dlYmF1ZGlvCkBA
IC00NjAsNiArNDYyLDEzIEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdUeXBlLmlkbAogICAgIE1vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFZhbGlkYXRpb25FcnJvcnMuaWRsCiAKKyAgICBNb2R1bGVz
L3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwKKyAgICBNb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbk5hbWUuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3Rh
dGUuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbAorICAg
IE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCisKICAgICBNb2R1bGVzL3BpY3R1
cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGljdHVyZUluUGljdHVyZS5pZGwKICAgICBNb2R1bGVzL3Bp
Y3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGljdHVyZUluUGljdHVyZS5pZGwK
ICAgICBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQu
aWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApp
bmRleCAzOWIyYjMwMDRlNGM1Nzk0MzdlNjVhY2E5NzMyN2M3OGQ0ZDc0NWRlLi41MTFiNTEzMTIw
MGFiZWM4M2JlNDkwN2E3YmU0MTkyM2E2MmYzNjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTM4OCw2ICszODgsMTIgQEAgJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ09wdGlvbi5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5n
VHlwZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFZh
bGlkYXRpb25FcnJvcnMuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL05h
dmlnYXRvcitQZXJtaXNzaW9ucy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25zLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9waWN0dXJlaW5waWN0
dXJlL0RvY3VtZW50K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGljdHVyZUluUGljdHVyZS5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9FbnRlclBpY3R1cmVJ
blBpY3R1cmVFdmVudC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3QKaW5kZXggMTk2NzFmNzUwNmQ2YTc5Mzc0YzVlYTQ1YWM3NzFmYzdmMWI3
OTUyYi4uOWI0ODRhYmE0OGMyYzVjZmM2MGFjZWVlYzI5M2ViY2E5YzM5NzFlYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTEzNzcs
NiArMTM3Nyw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTmF2aWdhdG9yK01lZGlhRGV2aWNlcy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhRGV2aWNlcy5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitNZWRpYVNlc3Np
b24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05h
dmlnYXRvcitNZWRpYVNlc3Npb24uaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrUGVybWlzc2lvbnMuY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitQZXJtaXNzaW9ucy5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitX
ZWJEcml2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU05hdmlnYXRvcitXZWJEcml2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViWFIuY3BwCkBAIC0xNTgzLDYgKzE1ODUsMTYg
QEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2Rp
Y1dhdmVDb25zdHJhaW50cy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2RpY1dhdmVPcHRpb25zLmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2RpY1dhdmVP
cHRpb25zLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UGVybWlzc2lvbkRlc2NyaXB0b3IuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbk5hbWUuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25OYW1lLmgK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lv
blN0YXRlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNQZXJtaXNzaW9uU3RhdGUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdHVzLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdHVzLmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbnMuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25zLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGljdHVyZUluUGlj
dHVyZVdpbmRvdy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUGljdHVyZUluUGljdHVyZVdpbmRvdy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BsYXliYWNrRGlyZWN0aW9uLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKaW5kZXggZDY0ZTY1ZTg2ZTVlMTE0MjY2N2E5ZTM4Mjc2ODNhOTY5MmYy
N2FmMS4uZjllZTY0MjhiYTBhNTRkNTRjMDI1N2FhNmQ2YTAwMDFlMmU0MjFiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zMjQsNiArMzI0LDEyIEBAIEpTX0JJTkRJTkdfSURM
UyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlw
cGluZ09wdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50U2hpcHBpbmdUeXBlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwgXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50T3JTaGFkb3dSb290K1Bp
Y3R1cmVJblBpY3R1cmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlucGlj
dHVyZS9Eb2N1bWVudCtQaWN0dXJlSW5QaWN0dXJlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuaWRsIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9I
ZWFkZXJzLmNtYWtlCmluZGV4IGViMDdiODBjOTkzM2Q2OWE4YzM2MzE5MThjNzVkYmU0ZTM3YTky
YjguLjc2Y2UwYzY2MWZlZTgzMGQxNzZlMzYxZjU3OTg3MzVjN2FlMWUwY2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQpAQCAtMTI5LDYgKzEyOSwxMiBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09S
S19IRUFERVJTCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Np
b24uaAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaAogCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uQ29udHJvbGxlci5o
CisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oCisgICAgTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oCisgICAgTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uT2JzZXJ2ZXIuaAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
blN0YXRlLmgKKwogICAgIE1vZHVsZXMvcGx1Z2lucy9QbHVnaW5SZXBsYWNlbWVudC5oCiAgICAg
TW9kdWxlcy9wbHVnaW5zL1lvdVR1YmVQbHVnaW5SZXBsYWNlbWVudC5oCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25z
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1p
c3Npb25zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MGIxMjdlN2YzYTFjNTY2NmNkMGQwYzg4ZmU5MTFlOTZj
ODM0ZjY1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI25hdmlnYXRvci1hbmQt
d29ya2VybmF2aWdhdG9yLWV4dGVuc2lvbgorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJt
aXNzaW9uc0FQSSwKKyAgICBJbXBsZW1lbnRlZEJ5PU5hdmlnYXRvclBlcm1pc3Npb25zCitdIHBh
cnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7CisgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBQZXJtaXNzaW9ucyBwZXJtaXNzaW9uczsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjM5MWY1NTU4ODZkOGU3MWEzNDllZTc1YmYzYzQxNmYwMmYxYzQ3YWIKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmln
YXRvclBlcm1pc3Npb25zLmNwcApAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5hdmlnYXRvclBlcm1pc3Npb25zLmgiCisKKyNpbmNs
dWRlICJOYXZpZ2F0b3IuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9ucy5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK05hdmlnYXRvclBlcm1pc3Npb25zOjpOYXZpZ2F0b3JQZXJtaXNzaW9ucyhO
YXZpZ2F0b3ImIG5hdmlnYXRvcikKKyAgICA6IG1fbmF2aWdhdG9yKG5hdmlnYXRvcikKK3sKK30K
KworUmVmUHRyPFBlcm1pc3Npb25zPiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6cGVybWlzc2lvbnMo
TmF2aWdhdG9yJiBuYXZpZ2F0b3IpCit7CisgICAgcmV0dXJuIE5hdmlnYXRvclBlcm1pc3Npb25z
Ojpmcm9tKG5hdmlnYXRvciktPnBlcm1pc3Npb25zKCk7Cit9CisKK1JlZlB0cjxQZXJtaXNzaW9u
cz4gTmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKCkKK3sKKyAgICBpZiAoIW1fcGVy
bWlzc2lvbnMpCisgICAgICAgIG1fcGVybWlzc2lvbnMgPSBQZXJtaXNzaW9uczo6Y3JlYXRlKG1f
bmF2aWdhdG9yKTsKKworICAgIHJldHVybiBtX3Blcm1pc3Npb25zOworfQorCitOYXZpZ2F0b3JQ
ZXJtaXNzaW9ucyogTmF2aWdhdG9yUGVybWlzc2lvbnM6OmZyb20oTmF2aWdhdG9yJiBuYXZpZ2F0
b3IpCit7CisgICAgYXV0byogc3VwcGxlbWVudCA9IHN0YXRpY19jYXN0PE5hdmlnYXRvclBlcm1p
c3Npb25zKj4oU3VwcGxlbWVudDxOYXZpZ2F0b3I+Ojpmcm9tKCZuYXZpZ2F0b3IsIHN1cHBsZW1l
bnROYW1lKCkpKTsKKyAgICBpZiAoIXN1cHBsZW1lbnQpIHsKKyAgICAgICAgYXV0byBuZXdTdXBw
bGVtZW50ID0gbWFrZVVuaXF1ZTxOYXZpZ2F0b3JQZXJtaXNzaW9ucz4obmF2aWdhdG9yKTsKKyAg
ICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7CisgICAgICAgIHByb3ZpZGVU
bygmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpLCBXVEZNb3ZlKG5ld1N1cHBsZW1lbnQpKTsK
KyAgICB9CisKKyAgICByZXR1cm4gc3VwcGxlbWVudDsKK30KKworY29uc3QgY2hhciogTmF2aWdh
dG9yUGVybWlzc2lvbnM6OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAgICByZXR1cm4gIk5hdmlnYXRv
clBlcm1pc3Npb25zIjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9u
cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjcwYTczOWRhNzE0NDBjN2EzM2IyMzJjYWU5ODM1MjAxOWZkYTQ0NGMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05h
dmlnYXRvclBlcm1pc3Npb25zLmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBOYXZpZ2F0b3I7CitjbGFzcyBQZXJtaXNzaW9uczsKKworY2xhc3MgTmF2
aWdhdG9yUGVybWlzc2lvbnMgZmluYWwgOiBwdWJsaWMgU3VwcGxlbWVudDxOYXZpZ2F0b3I+IHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBOYXZp
Z2F0b3JQZXJtaXNzaW9ucyhOYXZpZ2F0b3ImKTsKKworICAgIHN0YXRpYyBSZWZQdHI8UGVybWlz
c2lvbnM+IHBlcm1pc3Npb25zKE5hdmlnYXRvciYpOworICAgIFJlZlB0cjxQZXJtaXNzaW9ucz4g
cGVybWlzc2lvbnMoKTsKKworcHJpdmF0ZToKKyAgICBzdGF0aWMgTmF2aWdhdG9yUGVybWlzc2lv
bnMqIGZyb20oTmF2aWdhdG9yJik7CisgICAgc3RhdGljIGNvbnN0IGNoYXIqIHN1cHBsZW1lbnRO
YW1lKCk7CisKKyAgICBSZWZQdHI8UGVybWlzc2lvbnM+IG1fcGVybWlzc2lvbnM7CisgICAgTmF2
aWdhdG9yJiBtX25hdmlnYXRvcjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMTc5ZGY0MzlhMGZjMTllNjJkNzMxZTRhNjAzMjgwNTMzNDc2MDgyCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uQ29udHJv
bGxlci5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgIlBlcm1pc3Npb25PYnNlcnZlci5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25TdGF0ZS5o
IgorI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIFBlcm1pc3Npb25PYnNlcnZlcjsKK3N0cnVjdCBQZXJtaXNzaW9uRGVzY3Jp
cHRvcjsKKworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXIgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQ
dHI8UGVybWlzc2lvbkNvbnRyb2xsZXI+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
K3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJtaXNzaW9uQ29udHJvbGxlcigpID0gZGVmYXVsdDsK
KyAgICB2aXJ0dWFsIFBlcm1pc3Npb25TdGF0ZSBxdWVyeShDbGllbnRPcmlnaW4mJiwgUGVybWlz
c2lvbkRlc2NyaXB0b3ImJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0KENsaWVudE9y
aWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFBl
cm1pc3Npb25TdGF0ZSk+JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkT2JzZXJ2ZXIoUGVy
bWlzc2lvbk9ic2VydmVyJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZW1vdmVPYnNlcnZlcihQ
ZXJtaXNzaW9uT2JzZXJ2ZXImKSA9IDA7Cit9OworCitjbGFzcyBEdW1teVBlcm1pc3Npb25Db250
cm9sbGVyIGZpbmFsIDogcHVibGljIFBlcm1pc3Npb25Db250cm9sbGVyIHsKKyAgICBQZXJtaXNz
aW9uU3RhdGUgcXVlcnkoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlwdG9yJiYpIGZp
bmFsIHsgcmV0dXJuIFBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkOyB9CisgICAgdm9pZCByZXF1ZXN0
KENsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFBlcm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpIGZpbmFsIHsgY29t
cGxldGlvbkhhbmRsZXIoUGVybWlzc2lvblN0YXRlOjpEZW5pZWQpOyB9CisgICAgdm9pZCBhZGRP
YnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSBmaW5hbCB7IH0KKyAgICB2b2lkIHJlbW92ZU9i
c2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpIGZpbmFsIHsgfQorfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlODRiMmQ0Yzc3YTk4ZTk1
YjY2NDk4ZGM0ZDBiMzhhOTA4OWUxZTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKQEAgLTAsMCArMSw1
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVybWlzc2lvbk5h
bWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0
b3IgeworICAgIFBlcm1pc3Npb25OYW1lIG5hbWU7CisKKyAgICBib29sIG9wZXJhdG9yPT0oY29u
c3QgUGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IpIGNvbnN0IHsgcmV0dXJuIG5hbWUg
PT0gZGVzY3JpcHRvci5uYW1lOyB9CisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBl
bmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRp
YyBzdGQ6Om9wdGlvbmFsPFBlcm1pc3Npb25EZXNjcmlwdG9yPiBkZWNvZGUoRGVjb2RlciYpOwor
fTsKKwordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gaW5saW5lIHZvaWQgUGVybWlzc2lvbkRlc2Ny
aXB0b3I6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwg
bmFtZTsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RkOjpvcHRpb25hbDxQZXJtaXNz
aW9uRGVzY3JpcHRvcj4gUGVybWlzc2lvbkRlc2NyaXB0b3I6OmRlY29kZShEZWNvZGVyJiBkZWNv
ZGVyKQoreworICAgIFBlcm1pc3Npb25EZXNjcmlwdG9yIHJlc3VsdDsKKyAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHJlc3VsdC5uYW1lKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0
b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVz
Y3JpcHRvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGYzNmEzMmEyY2NjZDMzOTkzOWI3ZGU4MzVkZmVkYmJm
NGY1N2NjOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2RpY3RkZWYtcGVybWlz
c2lvbmRlc2NyaXB0b3IKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEks
CitdIGRpY3Rpb25hcnkgUGVybWlzc2lvbkRlc2NyaXB0b3IgeworICAgIHJlcXVpcmVkIFBlcm1p
c3Npb25OYW1lIG5hbWU7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjOTkzMWZkODQzOGQzNDMwMTZm
MTFkMmVlNGM1NzM5M2RhZDhlMTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmgKQEAgLTAsMCArMSw3OSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xh
c3MgUGVybWlzc2lvbk5hbWUgOiB1aW50OF90IHsKKyAgICBBY2NlbGVyb21ldGVyLAorICAgIEFt
YmllbnRMaWdodFNlbnNvciwKKyAgICBCYWNrZ3JvdW5kRmV0Y2gsCisgICAgQmFja2dyb3VuZFN5
bmMsCisgICAgQmx1ZXRvb3RoLAorICAgIENhbWVyYSwKKyAgICBEaXNwbGF5Q2FwdHVyZSwKKyAg
ICBHZW9sb2NhdGlvbiwKKyAgICBHeXJvc2NvcGUsCisgICAgTWFnbmV0b21ldGVyLAorICAgIE1p
Y3JvcGhvbmUsCisgICAgTWlkaSwKKyAgICBOZmMsCisgICAgTm90aWZpY2F0aW9ucywKKyAgICBQ
ZXJzaXN0ZW50U3RvcmFnZSwKKyAgICBQdXNoLAorICAgIFNjcmVlbldha2VMb2NrLAorICAgIFNw
ZWFrZXJTZWxlY3Rpb24KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNl
IFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6UGVybWlzc2lv
bk5hbWU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3Jl
OjpQZXJtaXNzaW9uTmFtZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6OkFjY2Vs
ZXJvbWV0ZXIsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpBbWJpZW50TGlnaHRT
ZW5zb3IsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpCYWNrZ3JvdW5kRmV0Y2gs
CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpCYWNrZ3JvdW5kU3luYywKKyAgICAg
ICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6OkJsdWV0b290aCwKKyAgICAgICAgV2ViQ29yZTo6
UGVybWlzc2lvbk5hbWU6OkNhbWVyYSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6
OkRpc3BsYXlDYXB0dXJlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6R2VvbG9j
YXRpb24sCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpHeXJvc2NvcGUsCisgICAg
ICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpNYWduZXRvbWV0ZXIsCisgICAgICAgIFdlYkNv
cmU6OlBlcm1pc3Npb25OYW1lOjpNaWNyb3Bob25lLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNz
aW9uTmFtZTo6TWlkaSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok5mYywKKyAg
ICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok5vdGlmaWNhdGlvbnMsCisgICAgICAgIFdl
YkNvcmU6OlBlcm1pc3Npb25OYW1lOjpQZXJzaXN0ZW50U3RvcmFnZSwKKyAgICAgICAgV2ViQ29y
ZTo6UGVybWlzc2lvbk5hbWU6OlB1c2gsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1l
OjpTY3JlZW5XYWtlTG9jaywKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6OlNwZWFr
ZXJTZWxlY3Rpb24KKyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQzYWNkZjI4YzY0MjExMGViNjEwZmU5ZTk4N2I2YmU2N2RkZGE2MjEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Np
b25OYW1lLmlkbApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2Mu
Z2l0aHViLmlvL3Blcm1pc3Npb25zLyNlbnVtZGVmLXBlcm1pc3Npb25uYW1lCisKK1sKKyAgICBF
bmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBlbnVtIFBlcm1pc3Npb25OYW1lIHsK
KyAgICAiYWNjZWxlcm9tZXRlciIsCisgICAgImFtYmllbnQtbGlnaHQtc2Vuc29yIiwKKyAgICAi
YmFja2dyb3VuZC1mZXRjaCIsCisgICAgImJhY2tncm91bmQtc3luYyIsCisgICAgImJsdWV0b290
aCIsCisgICAgImNhbWVyYSIsCisgICAgImRpc3BsYXktY2FwdHVyZSIsCisgICAgImdlb2xvY2F0
aW9uIiwKKyAgICAiZ3lyb3Njb3BlIiwKKyAgICAibWFnbmV0b21ldGVyIiwKKyAgICAibWljcm9w
aG9uZSIsCisgICAgIm1pZGkiLAorICAgICJuZmMiLAorICAgICJub3RpZmljYXRpb25zIiwKKyAg
ICAicGVyc2lzdGVudC1zdG9yYWdlIiwKKyAgICAicHVzaCIsCisgICAgInNjcmVlbi13YWtlLWxv
Y2siLAorICAgICJzcGVha2VyLXNlbGVjdGlvbiIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZlci5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uT2JzZXJ2ZXIuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zNTY2ZDczMjcyZTNmYzJhZTk5MzllMTM3ZTI0Mzg4ZjYwYjcyMjE0Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uT2JzZXJ2
ZXIuaApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJDbGllbnRPcmlnaW4uaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdGUuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7CisKK2NsYXNz
IFBlcm1pc3Npb25PYnNlcnZlciA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQZXJtaXNzaW9uT2Jz
ZXJ2ZXI+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJtaXNzaW9uT2JzZXJ2ZXIoKSA9IGRl
ZmF1bHQ7CisKKyAgICB2aXJ0dWFsIHZvaWQgc3RhdGVDaGFuZ2VkKFBlcm1pc3Npb25TdGF0ZSkg
PSAwOworICAgIHZpcnR1YWwgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4oKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCBjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNv
bnN0ID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmVjYWRmNTIwMWUwYzM3YjMwZjRiNzJlYTA4MDQwODU4NGI4ODg0ODQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5o
CkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
PHd0Zi9FbnVtVHJhaXRzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBQ
ZXJtaXNzaW9uU3RhdGUgOiB1aW50OF90IHsKKyAgICBHcmFudGVkLAorICAgIERlbmllZCwKKyAg
ICBQcm9tcHQKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7
CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6UGVybWlzc2lvblN0YXRl
PiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXRlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkdyYW50ZWQs
CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkLAorICAgICAgICBXZWJD
b3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdAorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvblN0YXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvblN0YXRlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTc3OTc4MTJkMTk4NjllZjNlNTFhMmRiOWVh
OGE3YWYxNjhhYzliCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1kZWYtcGVybWlz
c2lvbnN0YXRlCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBl
bnVtIFBlcm1pc3Npb25TdGF0ZSB7CisgICAgImdyYW50ZWQiLAorICAgICJkZW5pZWQiLAorICAg
ICJwcm9tcHQiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTgzYjM0MTY5YzNlNDhlZWRl
NjQ0N2Y4NmQ4Njk4NzIxODNjMDNkOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKQEAgLTAsMCArMSw4MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9u
U3RhdHVzLmgiCisKKyNpbmNsdWRlICJDbGllbnRPcmlnaW4uaCIKKyNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVy
LmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUGVybWlzc2lvblN0YXR1cyk7CisK
K1JlZjxQZXJtaXNzaW9uU3RhdHVzPiBQZXJtaXNzaW9uU3RhdHVzOjpjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgY29udGV4dCwgUGVybWlzc2lvblN0YXRlIHN0YXRlLCBQZXJtaXNzaW9u
RGVzY3JpcHRvciBkZXNjcmlwdG9yKQoreworICAgIGF1dG8gc3RhdHVzID0gYWRvcHRSZWYoKm5l
dyBQZXJtaXNzaW9uU3RhdHVzKGNvbnRleHQsIHN0YXRlLCBkZXNjcmlwdG9yKSk7CisgICAgc3Rh
dHVzLT5zdXNwZW5kSWZOZWVkZWQoKTsKKyAgICByZXR1cm4gc3RhdHVzOworfQorCitQZXJtaXNz
aW9uU3RhdHVzOjpQZXJtaXNzaW9uU3RhdHVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSwgUGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRv
cikKKyAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKKyAgICAsIG1fc3RhdGUoc3RhdGUp
CisgICAgLCBtX2Rlc2NyaXB0b3IoZGVzY3JpcHRvcikKK3sKKyAgICBpZiAoaXM8RG9jdW1lbnQ+
KGNvbnRleHQpKSB7CisgICAgICAgIGlmIChhdXRvIHBhZ2UgPSBkb3duY2FzdDxEb2N1bWVudD4o
KnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkucGFnZSgpKSB7CisgICAgICAgICAgICBtX2NvbnRy
b2xsZXIgPSBtYWtlV2Vha1B0cihwYWdlLT5wZXJtaXNzaW9uQ29udHJvbGxlcigpKTsKKyAgICAg
ICAgICAgIG1fY29udHJvbGxlci0+YWRkT2JzZXJ2ZXIoKnRoaXMpOworICAgICAgICB9CisgICAg
fQorCisgICAgYXV0byogb3JpZ2luID0gY29udGV4dC5zZWN1cml0eU9yaWdpbigpOworICAgIGF1
dG8gb3JpZ2luRGF0YSA9IG9yaWdpbiA/IG9yaWdpbi0+ZGF0YSgpIDogU2VjdXJpdHlPcmlnaW5E
YXRhIHsgfTsKKyAgICBtX29yaWdpbiA9IENsaWVudE9yaWdpbiB7IGNvbnRleHQudG9wT3JpZ2lu
KCkuZGF0YSgpLCBvcmlnaW5EYXRhIH07Cit9CisKK1Blcm1pc3Npb25TdGF0dXM6On5QZXJtaXNz
aW9uU3RhdHVzKCkKK3sKKyAgICBpZiAobV9jb250cm9sbGVyKQorICAgICAgICBtX2NvbnRyb2xs
ZXItPnJlbW92ZU9ic2VydmVyKCp0aGlzKTsKK30KKwordm9pZCBQZXJtaXNzaW9uU3RhdHVzOjpz
dGF0ZUNoYW5nZWQoUGVybWlzc2lvblN0YXRlIG5ld1N0YXRlKQoreworICAgIGlmIChtX3N0YXRl
ICE9IG5ld1N0YXRlKQorICAgICAgICBxdWV1ZVRhc2tUb0Rpc3BhdGNoRXZlbnQoKnRoaXMsIFRh
c2tTb3VyY2U6OlBlcm1pc3Npb24sIEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNoYW5nZUV2
ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKK30K
KworY29uc3QgY2hhciogUGVybWlzc2lvblN0YXR1czo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuICJQZXJtaXNzaW9uU3RhdHVzIjsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uU3RhdHVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25TdGF0dXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNzFlN2E0MjFjZWFlMzI3YjU5YzE4NTQ4
YTdkYTcxNDM2NWQxM2ViCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmgKQEAgLTAsMCArMSw3OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5j
bHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uRGVzY3JpcHRvci5oIgor
I2luY2x1ZGUgIlBlcm1pc3Npb25OYW1lLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbk9ic2VydmVy
LmgiCisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXI7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OworCitjbGFzcyBQZXJtaXNzaW9uU3RhdHVzIGZpbmFsIDogcHVibGljIFBlcm1pc3Npb25P
YnNlcnZlciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIFJlZkNvdW50ZWQ8UGVybWlz
c2lvblN0YXR1cz4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhICB7CisgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChQZXJtaXNzaW9uU3RhdHVzKTsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUmVmPFBlcm1pc3Npb25TdGF0dXM+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwg
UGVybWlzc2lvblN0YXRlLCBQZXJtaXNzaW9uRGVzY3JpcHRvcik7CisgICAgflBlcm1pc3Npb25T
dGF0dXMoKTsKKworICAgIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
c3RhdGU7IH0KKyAgICBQZXJtaXNzaW9uTmFtZSBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kZXNj
cmlwdG9yLm5hbWU7IH0KKworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKKyAgICB1c2luZyBS
ZWZDb3VudGVkOjpkZXJlZjsKKworICAgIHVzaW5nIFBlcm1pc3Npb25PYnNlcnZlcjo6d2Vha1B0
ckZhY3Rvcnk7CisgICAgdXNpbmcgV2Vha1ZhbHVlVHlwZSA9IFBlcm1pc3Npb25PYnNlcnZlcjo6
V2Vha1ZhbHVlVHlwZTsKKworcHJpdmF0ZToKKyAgICBQZXJtaXNzaW9uU3RhdHVzKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBQZXJtaXNzaW9uU3RhdGUsIFBlcm1pc3Npb25EZXNjcmlwdG9yKTsK
KworICAgIC8vIFBlcm1pc3Npb25PYnNlcnZlcgorICAgIHZvaWQgc3RhdGVDaGFuZ2VkKFBlcm1p
c3Npb25TdGF0ZSkgZmluYWw7CisgICAgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4oKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX29yaWdpbjsgfQorICAgIGNvbnN0IFBlcm1pc3Npb25EZXNjcmlw
dG9yJiBkZXNjcmlwdG9yKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9kZXNjcmlwdG9yOyB9CisK
KyAgICAvLyBBY3RpdmVET01PYmplY3QKKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3RO
YW1lKCkgY29uc3QgZmluYWw7CisKKyAgICAvLyBFdmVudFRhcmdldAorICAgIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBBY3RpdmVET01PYmplY3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQorICAgIEV2ZW50
VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gUGVybWlzc2lvblN0YXR1c0V2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQorICAgIHZvaWQg
cmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJlZkV2ZW50VGFy
Z2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CisKKyAgICBQZXJtaXNzaW9uU3RhdGUgbV9zdGF0ZTsK
KyAgICBQZXJtaXNzaW9uRGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7CisgICAgQ2xpZW50T3JpZ2lu
IG1fb3JpZ2luOworICAgIFdlYWtQdHI8UGVybWlzc2lvbkNvbnRyb2xsZXI+IG1fY29udHJvbGxl
cjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmRiNzgxNDJlNjk5ZTIwZTZiZTg2Y2M1Y2UyMDU2ZDFkZWI2OTJlZDAKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworIAorLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3Blcm1pc3Npb25zLyNwZXJtaXNzaW9uc3RhdHVzCisKK1sKKyAgICBBY3RpdmVET01PYmpl
Y3QsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKKyAgICBFeHBvc2VkPShX
aW5kb3csV29ya2VyKQorXSBpbnRlcmZhY2UgUGVybWlzc2lvblN0YXR1cyA6IEV2ZW50VGFyZ2V0
IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgUGVybWlzc2lvblN0YXRlIHN0YXRlOworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBQZXJtaXNzaW9uTmFtZSBuYW1lOworICAgIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25jaGFuZ2U7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZGRiNmJmNTJlMDZkNTIzY2Fi
MzRlOWQxN2RkMTg0ZTYxZTNmODYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAKQEAgLTAsMCArMSw5MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9ucy5oIgor
CisjaW5jbHVkZSAiRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJK
U0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIkpTUGVybWlzc2lvbkRlc2NyaXB0b3Iu
aCIKKyNpbmNsdWRlICJKU1Blcm1pc3Npb25TdGF0dXMuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3Iu
aCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIK
KyNpbmNsdWRlICJQZXJtaXNzaW9uRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxs
b2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9D
QVRFRF9JTVBMKFBlcm1pc3Npb25zKTsKKworUmVmPFBlcm1pc3Npb25zPiBQZXJtaXNzaW9uczo6
Y3JlYXRlKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFBlcm1pc3Npb25zKG5hdmlnYXRvcikpOworfQorCitQZXJtaXNzaW9uczo6UGVybWlzc2lvbnMo
TmF2aWdhdG9yJiBuYXZpZ2F0b3IpCisgICAgOiBtX25hdmlnYXRvcihtYWtlV2Vha1B0cihuYXZp
Z2F0b3IpKQoreworfQorCitOYXZpZ2F0b3IqIFBlcm1pc3Npb25zOjpuYXZpZ2F0b3IoKQorewor
ICAgIHJldHVybiBtX25hdmlnYXRvci5nZXQoKTsKK30KKwordm9pZCBQZXJtaXNzaW9uczo6cXVl
cnkoSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4gcGVybWlzc2lvbkRlc2NyaXB0b3JWYWx1ZSwg
RE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQZXJtaXNzaW9uU3RhdHVzPj4mJiBwcm9t
aXNlKQoreworICAgIGF1dG8gY29udGV4dCA9IG1fbmF2aWdhdG9yID8gbV9uYXZpZ2F0b3ItPnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSA6IG51bGxwdHI7CisgICAgaWYgKCFjb250ZXh0IHx8ICFj
b250ZXh0LT5nbG9iYWxPYmplY3QoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRp
b24geyBJbnZhbGlkU3RhdGVFcnJvciB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IEpTQzo6Vk0mIHZtID0gY29udGV4dC0+Z2xvYmFsT2JqZWN0KCktPnZtKCk7CisgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIGlmICghcGVybWlzc2lvbkRlc2Ny
aXB0b3JWYWx1ZSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBEYXRhRXJy
b3IsICJUaGUgcGFyYW1ldGVyIGlzIGludmFsaWQiX3MgfSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBhdXRvIHBhcmFtZXRlckRlc2NyaXB0b3IgPSBjb252ZXJ0PElETERpY3Rpb25h
cnk8UGVybWlzc2lvbkRlc2NyaXB0b3I+PigqY29udGV4dC0+Z2xvYmFsT2JqZWN0KCksIHBlcm1p
c3Npb25EZXNjcmlwdG9yVmFsdWUuZ2V0KCkpOworICAgIGlmIChVTkxJS0VMWShzY29wZS5leGNl
cHRpb24oKSkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgRXhpc3RpbmdF
eGNlcHRpb25FcnJvciB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8qIGZy
YW1lID0gbV9uYXZpZ2F0b3ItPmZyYW1lKCk7CisgICAgYXV0byogZG9jdW1lbnQgPSBmcmFtZT8g
ZnJhbWUtPmRvY3VtZW50KCkgOiBudWxscHRyOworICAgIGF1dG8qIHBhZ2UgPSBmcmFtZT8gZnJh
bWUtPnBhZ2UoKSA6IG51bGxwdHI7CisgICAgaWYgKCFmcmFtZSB8fCAhZG9jdW1lbnQgfHwgIXBh
Z2UpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJy
b3IgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIHBlcm1pc3Npb25TdGF0
ZSA9IHBhZ2UtPnBlcm1pc3Npb25Db250cm9sbGVyKCkucXVlcnkoQ2xpZW50T3JpZ2luIHsgZG9j
dW1lbnQtPnRvcE9yaWdpbigpLmRhdGEoKSwgZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkuZGF0
YSgpIH0sIFBlcm1pc3Npb25EZXNjcmlwdG9yIHsgcGFyYW1ldGVyRGVzY3JpcHRvciB9KTsKKyAg
ICBwcm9taXNlLnJlc29sdmUoUGVybWlzc2lvblN0YXR1czo6Y3JlYXRlKCpjb250ZXh0LCBwZXJt
aXNzaW9uU3RhdGUsIHBhcmFtZXRlckRlc2NyaXB0b3IpKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9ucy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyZTg5NTdhZjExOGNjNjY0ZGRiNmM0YjU3NGQ2ZDI0Yzc1YzRm
YTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25zLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJv
bmcuaD4KKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIu
aD4KKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBKU09iamVjdDsKK30gLy8gbmFtZXNwYWNlIEpT
QworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmlnYXRvcjsKK2NsYXNzIFBlcm1p
c3Npb25TdGF0dXM7CisKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21p
c2VEZWZlcnJlZDsKKworY2xhc3MgUGVybWlzc2lvbnMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRl
ZDxQZXJtaXNzaW9ucz4geworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUGVybWlzc2lvbnMp
OworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UGVybWlzc2lvbnM+IGNyZWF0ZShOYXZpZ2F0b3Im
KTsKKworICAgIE5hdmlnYXRvciogbmF2aWdhdG9yKCk7CisgICAgdm9pZCBxdWVyeShKU0M6OlN0
cm9uZzxKU0M6OkpTT2JqZWN0PiwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQZXJt
aXNzaW9uU3RhdHVzPj4mJik7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgUGVybWlzc2lvbnMo
TmF2aWdhdG9yJik7CisKKyAgICBXZWFrUHRyPE5hdmlnYXRvcj4gbV9uYXZpZ2F0b3I7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2OGFhNjEyYTUwN2IzODA1
NDBhNjcwYmU2NDVhYjY2ZWY0MzgxZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbApAQCAtMCwwICsxLDM1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNwZXJtaXNz
aW9ucy1pbnRlcmZhY2UKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEks
CisgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVGcm9tTmF2aWdhdG9yLAorICAgIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKK10g
aW50ZXJmYWNlIFBlcm1pc3Npb25zIHsKKyAgICBQcm9taXNlPFBlcm1pc3Npb25TdGF0dXM+IHF1
ZXJ5KG9iamVjdCBwZXJtaXNzaW9uRGVzYyk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA2ZDU5ZGMz
ZmQ4Nzg0YWMzNTc2MGFkZGY1ZDkyMDU4ZDI1ODRkMDdiLi44OTEwNTQ5NzMxOWE2YjA0ZTE4ZmU1
MmU0NTFlZDRlZTlhNGYxNTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMjAzLDYgKzIwMyw5IEBAIE1v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCiBNb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L1BheW1lbnRSZXF1ZXN0VXRpbGl0aWVzLmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50UmVzcG9uc2UuY3BwCitNb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Np
b25zLmNwcAorTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcAorTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9E
b2N1bWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50
ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvSFRN
TFZpZGVvRWxlbWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCkBAIC0zMjcyLDYgKzMyNzUsMTEgQEAg
SlNQZXJmb3JtYW5jZVRpbWluZy5jcHAKIEpTUGVyaW9kaWNXYXZlLmNwcAogSlNQZXJpb2RpY1dh
dmVDb25zdHJhaW50cy5jcHAKIEpTUGVyaW9kaWNXYXZlT3B0aW9ucy5jcHAKK0pTUGVybWlzc2lv
bkRlc2NyaXB0b3IuY3BwCitKU1Blcm1pc3Npb25OYW1lLmNwcAorSlNQZXJtaXNzaW9uU3RhdGUu
Y3BwCitKU1Blcm1pc3Npb25TdGF0dXMuY3BwCitKU1Blcm1pc3Npb25zLmNwcAogSlNQaWN0dXJl
SW5QaWN0dXJlV2luZG93LmNwcAogSlNQbGF5YmFja0RpcmVjdGlvbi5jcHAKIEpTUG9pbnRlckV2
ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGQwYWEwZThkMmI5YjkxMDczYjk4M2E2OGNmNTlmN2U2NmEyYTUzNzUuLjM2
YWRlZWQ0OWQxMGY4N2E2MTgxZDgzMjgzZWI4NzY0ODQ4YWRkZGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI4ODAsNiArMjg4
MCwxNCBAQAogCQk5M0E4MDYxNzFFMDNCNTFDMDA4QTFGMjYgLyogTG9uZ1JhbmdlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4MDYxMzFFMDNCNTFD
MDA4QTFGMjYgLyogTG9uZ1JhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJOTNBODA2MUUxRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFu
Z2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTgw
NjFBMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJhbmdlLmggKi87IH07CiAJCTkzQTgwNjIw
MUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBODA2MUMxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9u
Z1JhbmdlLmggKi87IH07CisJCTkzQjBBNjUzMjZDREQxNDEwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQ
ZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTNCMEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi87
IH07CisJCTkzQjBBNjU0MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NEIyNkNERDEzRTAw
QUEyMUU0IC8qIFBlcm1pc3Npb25zLmggKi87IH07CisJCTkzQjBBNjU2MjZDREQxNDEwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5M0IwQTY0RDI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1
cy5oICovOyB9OworCQk5M0IwQTY1NzI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2Ny
aXB0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
QjBBNjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjU5MjZDREQx
NDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NTAyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Np
b25OYW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJOTNCMEE2NUIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NTIyNkNERDE0MTAw
QUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjcwMjZENEI1MzkwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNCMEE2NjkyNkQ0NEI3RjAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNCMEE2
N0EyNkQ2QTRFOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NkYyNkQ0QjUyOTAwQUEyMUU0
IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTkzQjJEODE2MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJt
aW5hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNCMzhFQzMyNTgyMURC
NDAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IzOEVCQTI1ODIxOTNCMDAxOThFNjMgLyog
V2ViU3BlZWNoUmVjb2duaXplclRhc2suaCAqLzsgfTsKIAkJOTNCMzhFQzQyNTgyMURCNzAwMTk4
RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMzhFQkIyNTgyMTkzRDAwMTk4RTYzIC8qIFdl
YlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oICovOyB9OwpAQCAtMTE3MDEsNiArMTE3MDksMjMg
QEAKIAkJOTNBODA2MUExRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEb3VibGVSYW5nZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5M0E4MDYxQjFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNMb25nUmFuZ2UuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0E4MDYxQzFFMDNCNTg1MDA4QTFGMjYg
LyogSlNMb25nUmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNMb25n
UmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDQyNkNEQzVCNjAw
QUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVy
bWlzc2lvblN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDUy
NkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTkzQjBBNjQ2MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvbk5hbWUuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk5M0IwQTY0NzI2Q0RDNUI3MDBBQTIxRTQgLyogTmF2aWdhdG9yK1Bl
cm1pc3Npb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiTmF2aWdhdG9yK1Blcm1pc3Np
b25zLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ4MjZDREM1Qjcw
MEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlz
c2lvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0OTI2Q0RDNUI4
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
UGVybWlzc2lvblN0YXR1cy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBB
NjRBMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0QjI2Q0REMTNFMDBBQTIxRTQgLyogUGVybWlzc2lv
bnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbnMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEMyNkNERDEzRTAwQUEyMUU0IC8qIE5h
dmlnYXRvclBlcm1pc3Npb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0RTI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lv
bkRlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lv
bkRlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEYyNkNE
RDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTkzQjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uTmFtZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MTI2Q0REMTQwMDBBQTIxRTQgLyogUGVy
bWlzc2lvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVybWlz
c2lvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MjI2Q0REMTQx
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBlcm1pc3Npb25TdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
M0IwQTY2OTI2RDQ0QjdGMDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGVybWlzc2lvbkNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTNCMEE2NkYyNkQ0QjUyOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN1ZGRlblRlcm1pbmF0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjJEODE3MEY5OTIwRUUwMDZBRTZCMiAvKiBT
dWRkZW5UZXJtaW5hdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFN1ZGRlblRlcm1pbmF0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
M0IzOEVCODI1ODIxODk5MDAxOThFNjMgLyogU3BlZWNoUmVjb2duaXplckNvY29hLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3BlZWNoUmVjb2duaXplckNvY29h
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjMxODUsNiArMjMyMTAsMzAgQEAK
IAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk5M0Iw
QTY0MjI2Q0RDNTc0MDBBQTIxRTQgLyogcGVybWlzc2lvbnMgKi8gPSB7CisJCQlpc2EgPSBQQlhH
cm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTkzQjBBNjQ3MjZDREM1QjcwMEFBMjFFNCAvKiBO
YXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsICovLAorCQkJCTkzQjBBNjRDMjZDREQxM0UwMEFBMjFF
NCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAgKi8sCisJCQkJOTNCMEE2NEEyNkNERDEzRTAw
QUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi8sCisJCQkJOTNCMEE2NjkyNkQ0NEI3
RjAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggKi8sCisJCQkJOTNCMEE2NEUyNkNE
RDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggKi8sCisJCQkJOTNCMEE2NDUy
NkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbCAqLywKKwkJCQk5M0Iw
QTY1MDI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCAqLywKKwkJCQk5M0IwQTY0
NjI2Q0RDNUI3MDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaWRsICovLAorCQkJCTkzQjBBNjZG
MjZENEI1MjkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCAqLywKKwkJCQk5M0IwQTY1
MTI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuY3BwICovLAorCQkJCTkzQjBBNjRCMjZD
REQxM0UwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oICovLAorCQkJCTkzQjBBNjQ4MjZDREM1Qjcw
MEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5pZGwgKi8sCisJCQkJOTNCMEE2NTIyNkNERDE0MTAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oICovLAorCQkJCTkzQjBBNjQ0MjZDREM1QjYwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdGUuaWRsICovLAorCQkJCTkzQjBBNjRGMjZDREQxNDAwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdHVzLmNwcCAqLywKKwkJCQk5M0IwQTY0RDI2Q0REMTNGMDBBQTIx
RTQgLyogUGVybWlzc2lvblN0YXR1cy5oICovLAorCQkJCTkzQjBBNjQ5MjZDREM1QjgwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdHVzLmlkbCAqLywKKwkJCSk7CisJCQlwYXRoID0gcGVybWlzc2lv
bnM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk5M0IzOEVCNjI1ODIxODMz
MDAxOThFNjMgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKApAQCAtMjM3OTAsNiArMjM4MzksNyBAQAogCQkJCTcxRDZBQTM5MURBNEVBRjcwMEIyMzk2
OSAvKiBtb2Rlcm4tbWVkaWEtY29udHJvbHMgKi8sCiAJCQkJMzMzRjcwM0QwRkI0OUMxNjAwOEUx
MkE2IC8qIG5vdGlmaWNhdGlvbnMgKi8sCiAJCQkJQTFGNzZCMEUxRjQ0QzBDRjAwMTRDMzE4IC8q
IHBheW1lbnRyZXF1ZXN0ICovLAorCQkJCTkzQjBBNjQyMjZDREM1NzQwMEFBMjFFNCAvKiBwZXJt
aXNzaW9ucyAqLywKIAkJCQkxREVGMDZBMjIzM0MzMkRCMDBFRTIyOEQgLyogcGljdHVyZWlucGlj
dHVyZSAqLywKIAkJCQkwNzJBRTFERTE4M0MwNTEzMDAwQTU5ODggLyogcGx1Z2lucyAqLywKIAkJ
CQlDREMzMTJFMDIyRkNEMEIwMDAxMjA0RUMgLyogcmVtb3RlcGxheWJhY2sgKi8sCkBAIC0zMzc1
Nyw2ICszMzgwNyw3IEBACiAJCQkJNkI1MDdBMjQyMzRCRjM0MTAwQkU3QzYyIC8qIE5hdmlnYXRv
cklzTG9nZ2VkSW4uaCBpbiBIZWFkZXJzICovLAogCQkJCTVFQTcyNUQ2MUFDQUJENTcwMEVBRDE3
QiAvKiBOYXZpZ2F0b3JNZWRpYURldmljZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3N0JBNTcy
MjYwRkEwMTQwMDcyRjE5RiAvKiBOYXZpZ2F0b3JNZWRpYVNlc3Npb24uaCBpbiBIZWFkZXJzICov
LAorCQkJCTkzQjBBNjUzMjZDREQxNDEwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTk2RTU5REYxREYwMTI4RDAwNjYxMkI5IC8qIE5hdmlnYXRv
cldlYkRyaXZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCNzgyNDEzMTkxRjAwRTc5NEQ2
IC8qIE5hdmlnYXRvcldlYlhSLmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTMwOUM5RjEyMzk1MEJF
MDBDQjkyMDQgLyogTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCBpbiBIZWFkZXJzICovLApAQCAt
MzM5NTYsNiArMzQwMDcsMTMgQEAKIAkJCQlGRDU4MUZCNTE1MjBGOTNCMDAzQTdBNzUgLyogUGVy
aW9kaWNXYXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNzU1RTg5MjI0Qzc0MzRCMDA5RjdDMjMg
LyogUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUU3NTVFODk5
MjRDNzQ2MUQwMDlGN0MyMyAvKiBQZXJpb2RpY1dhdmVPcHRpb25zLmggaW4gSGVhZGVycyAqLywK
KwkJCQk5M0IwQTY3MDI2RDRCNTM5MDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTkzQjBBNjU3MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
RGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTkyNkNERDE0MTAwQUEyMUU0
IC8qIFBlcm1pc3Npb25OYW1lLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY3QTI2RDZBNEU5
MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0Iw
QTY1NDI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTkzQjBBNjVCMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTkzQjBBNjU2MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0OUQ1REMyRTBGNDIzQTczMDA4RjIwRkQgLyogUGVyc3BlY3Rp
dmVUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTFEQkMxQjU2MjM0N0Iz
RDIwMEI5MDFBRiAvKiBQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFEMkM4MkI3MjM2QTNGNkEwMDU1RDZDNSAvKiBQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5o
IGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
ZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmgKaW5kZXggZjE4MWM3OTZkNjUwY2M4NmZlM2YwOGE3MjAwN2E2ZWRjMmVm
YmM3OC4uODUxYTIxNGM5YTQ4N2ZmNjhkMTZiZTdkZDhmYmI1MjA4ODdlYjkxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMTU0
LDYgKzE1NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhNb2NrUlRDUnRwVHJh
bnNmb3JtKSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yQ3JlZGVudGlhbHMpIFwKICAgICBtYWNybyhO
YXZpZ2F0b3JNZWRpYURldmljZXMpIFwKKyAgICBtYWNybyhOYXZpZ2F0b3JQZXJtaXNzaW9ucykg
XAogICAgIG1hY3JvKE5hdmlnYXRvclVzZXJNZWRpYSkgXAogICAgIG1hY3JvKE9mZmxpbmVBdWRp
b0NvbnRleHQpIFwKICAgICBtYWNybyhPZmZzY3JlZW5DYW52YXMpIFwKQEAgLTE4Miw2ICsxODMs
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWlu
ZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQ
ZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAorICAgIG1hY3JvKFBlcm1pc3Npb25EZXNjcmlwdG9y
KSBcCisgICAgbWFjcm8oUGVybWlzc2lvblN0YXR1cykgXAorICAgIG1hY3JvKFBlcm1pc3Npb25z
KSBcCiAgICAgbWFjcm8oUG9pbnRlckV2ZW50KSBcCiAgICAgbWFjcm8oUHVibGljS2V5Q3JlZGVu
dGlhbCkgXAogICAgIG1hY3JvKFJlc2l6ZU9ic2VydmVyKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCA1ZTU4ZjExMTY2N2VmNjIxMGQ1MzExMGQ3YjU0YTgw
MmM4NDM5NWQ4Li4wMTNjZWQwOTQ2ZmZjZDUyNTlmYTI1MGIxNjAzYTE4ZTQ1OWU0NTk5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTM1LDYgKzM1LDcgQEAg
T2Zmc2NyZWVuQ2FudmFzIGNvbmRpdGlvbmFsPU9GRlNDUkVFTl9DQU5WQVMKIFBheW1lbnRSZXF1
ZXN0IGNvbmRpdGlvbmFsPVBBWU1FTlRfUkVRVUVTVAogUGF5bWVudFJlc3BvbnNlIGNvbmRpdGlv
bmFsPVBBWU1FTlRfUkVRVUVTVAogUGVyZm9ybWFuY2UKK1Blcm1pc3Npb25TdGF0dXMKIFBpY3R1
cmVJblBpY3R1cmVXaW5kb3cgY29uZGl0aW9uYWw9UElDVFVSRV9JTl9QSUNUVVJFX0FQSQogUmVt
b3RlUGxheWJhY2sgY29uZGl0aW9uYWw9V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUCiBSVENEYXRh
Q2hhbm5lbCBjb25kaXRpb25hbD1XRUJfUlRDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vVGFza1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaAppbmRleCA3
MTMzZjY3OGVhMmQ5OTI2OTUxNjAyMDg2NGVmMTNkNGYzZWZkMzk4Li4yZGE0N2JhZDZjNzNhNmJh
NWJmMjgzYjhkMzUyZjQwZDIxYWYwMTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
VGFza1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UYXNrU291cmNlLmgKQEAgLTM5
LDYgKzM5LDcgQEAgZW51bSBjbGFzcyBUYXNrU291cmNlIDogdWludDhfdCB7CiAgICAgTWljcm90
YXNrLAogICAgIE5ldHdvcmtpbmcsCiAgICAgUGVyZm9ybWFuY2VUaW1lbGluZSwKKyAgICBQZXJt
aXNzaW9uLAogICAgIFBvc3RlZE1lc3NhZ2VRdWV1ZSwKICAgICBTcGVlY2gsCiAgICAgVXNlcklu
dGVyYWN0aW9uLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCA5NjRl
MmRkMTIwNzAzMzFhNjVjYTM0MWFjNzBlNGIyODc0MjAwYTBkLi41NWNjNDZlMjU5MTg0NjlmMzFk
NTZjMDQ5NmU0M2RkNTVlY2ZkNWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmNwcApAQCAtNjMsNiArNjMsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdl
Q29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oIgor
I2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGx1Z2luSW5mb1By
b3ZpZGVyLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW5EYXRhLmgiCkBAIC0xMTkzLDcgKzExOTQsOCBAQCBQYWdlQ29uZmlndXJh
dGlvbiBwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMoUEFMOjpTZXNzaW9uSUQgc2Vz
c2lvbklEKQogICAgICAgICBtYWtlVW5pcXVlUmVmPEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ+KCks
CiAgICAgICAgIG1ha2VVbmlxdWVSZWY8RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigp
LAogICAgICAgICBtYWtlVW5pcXVlUmVmPEVtcHR5TWVkaWFSZWNvcmRlclByb3ZpZGVyPigpLAot
ICAgICAgICBFbXB0eUJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Y3JlYXRlKCkKKyAgICAgICAg
RW1wdHlCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmNyZWF0ZSgpLAorICAgICAgICBtYWtlVW5p
cXVlUmVmPER1bW15UGVybWlzc2lvbkNvbnRyb2xsZXI+KCkKICAgICB9OwogCiAgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPEVtcHR5Q2hyb21lQ2xpZW50PiBkdW1teUNocm9tZUNsaWVudDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwCmluZGV4IGVlZTY4Yjc3ZTFlNWZjZTFlNTljMzI5NDM0YTlhODYwMGIzNjk3
MTAuLjg2MTA3OGJhMGJmNjE4M2I3NzExNDVhNzRiNDFiZTA3ZDdiMDU2MmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcApAQCAtOTksNiArOTksNyBAQAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTG9nZ2luZy5o
IgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oIgogI2luY2x1ZGUgIlBlcmZv
cm1hbmNlTW9uaXRvci5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1T
Y3JlZW4uaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKQEAgLTMyNSw2ICszMjYs
NyBAQCBQYWdlOjpQYWdlKFBhZ2VDb25maWd1cmF0aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAg
ICAgLCBtX2xvYWRzU3VicmVzb3VyY2VzKHBhZ2VDb25maWd1cmF0aW9uLmxvYWRzU3VicmVzb3Vy
Y2VzKQogICAgICwgbV9zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZyhwYWdlQ29u
ZmlndXJhdGlvbi5zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZykKICAgICAsIG1f
aHR0cHNVcGdyYWRlRW5hYmxlZChwYWdlQ29uZmlndXJhdGlvbi5odHRwc1VwZ3JhZGVFbmFibGVk
KQorICAgICwgbV9wZXJtaXNzaW9uQ29udHJvbGxlcihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9u
LnBlcm1pc3Npb25Db250cm9sbGVyKSkKIHsKICAgICB1cGRhdGVUaW1lclRocm90dGxpbmdTdGF0
ZSgpOwogCkBAIC0zNjkzLDQgKzM2OTUsOSBAQCB2b2lkIFBhZ2U6OnJlc2V0VGV4dFJlY29nbml0
aW9uUmVzdWx0cygpCiAKICNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKK1Blcm1p
c3Npb25Db250cm9sbGVyJiBQYWdlOjpwZXJtaXNzaW9uQ29udHJvbGxlcigpCit7CisgICAgcmV0
dXJuIG1fcGVybWlzc2lvbkNvbnRyb2xsZXIuZ2V0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggOTI1NWJmMzEzYzY3ZDcxNDgxNWNmNzgxNTI2NmZmZDgw
NWIyMmY2MC4uM2IxZTI2OTA1NTZkZDRmM2QxN2E4ZWI4NWYyNGQwMDQwODg3NDM3NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKQEAgLTEzMSw2ICsxMzEsNyBAQCBjbGFzcyBQYXltZW50Q29vcmRpbmF0b3I7CiBj
bGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmc7CiBjbGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQ7
CiBjbGFzcyBQZXJmb3JtYW5jZU1vbml0b3I7CitjbGFzcyBQZXJtaXNzaW9uQ29udHJvbGxlcjsK
IGNsYXNzIFBsdWdpbkRhdGE7CiBjbGFzcyBQbHVnaW5JbmZvUHJvdmlkZXI7CiBjbGFzcyBQbHVn
aW5WaWV3QmFzZTsKQEAgLTg3Miw2ICs4NzMsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjYWNoZVRl
eHRSZWNvZ25pdGlvblJlc3VsdChjb25zdCBIVE1MRWxlbWVudCYsIGNvbnN0IEludFJlY3QmIGNv
bnRhaW5lclJlY3QsIGNvbnN0IFRleHRSZWNvZ25pdGlvblJlc3VsdCYpOwogI2VuZGlmCiAKKyAg
ICBXRUJDT1JFX0VYUE9SVCBQZXJtaXNzaW9uQ29udHJvbGxlciYgcGVybWlzc2lvbkNvbnRyb2xs
ZXIoKTsKKwogcHJpdmF0ZToKICAgICBzdHJ1Y3QgTmF2aWdhdGlvbiB7CiAgICAgICAgIFJlZ2lz
dHJhYmxlRG9tYWluIGRvbWFpbjsKQEAgLTExOTQsNiArMTE5Nyw4IEBAIHByaXZhdGU6CiAgICAg
Y29uc3QgYm9vbCBtX2h0dHBzVXBncmFkZUVuYWJsZWQgeyB0cnVlIH07CiAgICAgbXV0YWJsZSBN
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgbV9tZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXI7
CiAKKyAgICBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+IG1fcGVybWlzc2lvbkNvbnRy
b2xsZXI7CisKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAgICAgLy8gRklYTUU6IFRoZXNl
IHNob3VsZCBiZSByZWZhY3RvcmVkIHRvIHVzZSBhIHdlYWsgaGFzaCBtYXAgb2YgSFRNTEVsZW1l
bnQgdG8gc3RkOjpwYWlyPFRleHRSZWNvZ25pdGlvblJlc3VsdCwgSW50U2l6ZT4uCiAgICAgVmVj
dG9yPHN0ZDo6cGFpcjxXZWFrUHRyPEhUTUxFbGVtZW50Piwgc3RkOjpwYWlyPFRleHRSZWNvZ25p
dGlvblJlc3VsdCwgSW50UmVjdD4+PiBtX3RleHRSZWNvZ25pdGlvblJlc3VsdHNCeUVsZW1lbnQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDY3NWUzNjlj
YzFlMmMyYjc3ZDk5ZmRkMDkxMzRiMTk4ZjBjZjNhZjMuLmNiNTYwZmQ0MTRhMjNhNzZiMmNjN2I2
MGVhNTAyOTk5YTk4MWNjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uY3BwCkBAIC01OSw3ICs1OSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFnZUNv
bmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
VW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQsIFJlZjxTb2NrZXRQcm92aWRl
cj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmIGxpYldl
YlJUQ1Byb3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYgY2FjaGVTdG9yYWdlUHJv
dmlkZXIsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmIHVzZXJDb250ZW50UHJvdmlkZXIsIFJl
ZjxCYWNrRm9yd2FyZENsaWVudD4mJiBiYWNrRm9yd2FyZENsaWVudCwgUmVmPENvb2tpZUphcj4m
JiBjb29raWVKYXIsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYgcHJvZ3Jlc3NU
cmFja2VyQ2xpZW50LCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+JiYgbG9hZGVyQ2xpZW50
Rm9yTWFpbkZyYW1lLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4mJiBzcGVl
Y2hSZWNvZ25pdGlvblByb3ZpZGVyLCBVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPiYm
IG1lZGlhUmVjb3JkZXJQcm92aWRlciwgUmVmPEJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4mJiBi
cm9hZGNhc3RDaGFubmVsUmVnaXN0cnkpCitQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3Vy
YXRpb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYm
IGVkaXRvckNsaWVudCwgUmVmPFNvY2tldFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyLCBVbmlx
dWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYgbGliV2ViUlRDUHJvdmlkZXIsIFJlZjxDYWNoZVN0
b3JhZ2VQcm92aWRlcj4mJiBjYWNoZVN0b3JhZ2VQcm92aWRlciwgUmVmPFVzZXJDb250ZW50UHJv
dmlkZXI+JiYgdXNlckNvbnRlbnRQcm92aWRlciwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmIGJh
Y2tGb3J3YXJkQ2xpZW50LCBSZWY8Q29va2llSmFyPiYmIGNvb2tpZUphciwgVW5pcXVlUmVmPFBy
b2dyZXNzVHJhY2tlckNsaWVudD4mJiBwcm9ncmVzc1RyYWNrZXJDbGllbnQsIFVuaXF1ZVJlZjxG
cmFtZUxvYWRlckNsaWVudD4mJiBsb2FkZXJDbGllbnRGb3JNYWluRnJhbWUsIFVuaXF1ZVJlZjxT
cGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmIHNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXIsIFVu
aXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYgbWVkaWFSZWNvcmRlclByb3ZpZGVyLCBS
ZWY8QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmIGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSwg
VW5pcXVlUmVmPFBlcm1pc3Npb25Db250cm9sbGVyPiYmIHBlcm1pc3Npb25Db250cm9sbGVyKQog
ICAgIDogc2Vzc2lvbklEKHNlc3Npb25JRCkKICAgICAsIGVkaXRvckNsaWVudChXVEZNb3ZlKGVk
aXRvckNsaWVudCkpCiAgICAgLCBzb2NrZXRQcm92aWRlcihXVEZNb3ZlKHNvY2tldFByb3ZpZGVy
KSkKQEAgLTczLDYgKzczLDcgQEAgUGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9u
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckMKICAgICAsIGJyb2Fk
Y2FzdENoYW5uZWxSZWdpc3RyeShXVEZNb3ZlKGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSkpCiAg
ICAgLCBzcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyKFdURk1vdmUoc3BlZWNoUmVjb2duaXRpb25Q
cm92aWRlcikpCiAgICAgLCBtZWRpYVJlY29yZGVyUHJvdmlkZXIoV1RGTW92ZShtZWRpYVJlY29y
ZGVyUHJvdmlkZXIpKQorICAgICwgcGVybWlzc2lvbkNvbnRyb2xsZXIoV1RGTW92ZShwZXJtaXNz
aW9uQ29udHJvbGxlcikpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uaAppbmRleCAwZjI1OWQ1NmQzYTE0MmExNGUwZWM4NTE0ZTBmZDViMmZkMjkzMGE1Li5kNzVi
NzEwNGMzNTAzOTFmNThhOTY4ZmFlMmU2ZTAzNTQ2MTE2YWNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlQ29uZmlndXJhdGlvbi5oCkBAIC01OSw2ICs1OSw3IEBAIGNsYXNzIExpYldlYlJUQ1By
b3ZpZGVyOwogY2xhc3MgTWVkaWFSZWNvcmRlclByb3ZpZGVyOwogY2xhc3MgUGF5bWVudENvb3Jk
aW5hdG9yQ2xpZW50OwogY2xhc3MgUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50OworY2xhc3MgUGVy
bWlzc2lvbkNvbnRyb2xsZXI7CiBjbGFzcyBQbHVnaW5JbmZvUHJvdmlkZXI7CiBjbGFzcyBQcm9n
cmVzc1RyYWNrZXJDbGllbnQ7CiBjbGFzcyBTb2NrZXRQcm92aWRlcjsKQEAgLTc0LDcgKzc1LDcg
QEAgY2xhc3MgU3BlZWNoU3ludGhlc2lzQ2xpZW50OwogY2xhc3MgUGFnZUNvbmZpZ3VyYXRpb24g
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDb25maWd1cmF0aW9uKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZpZ3Vy
YXRpb24oUEFMOjpTZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYsIFJlZjxTb2Nr
ZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmLCBSZWY8Q2FjaGVT
dG9yYWdlUHJvdmlkZXI+JiYsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmLCBSZWY8QmFja0Zv
cndhcmRDbGllbnQ+JiYsIFJlZjxDb29raWVKYXI+JiYsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNr
ZXJDbGllbnQ+JiYsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNsaWVudD4mJiwgVW5pcXVlUmVmPFNw
ZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlk
ZXI+JiYsIFJlZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYpOworICAgIFdFQkNPUkVfRVhQ
T1JUIFBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xp
ZW50PiYmLCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRl
cj4mJiwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmLCBSZWY8VXNlckNvbnRlbnRQcm92aWRl
cj4mJiwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmLCBSZWY8Q29va2llSmFyPiYmLCBVbmlxdWVS
ZWY8UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmLCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+
JiYsIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TWVk
aWFSZWNvcmRlclByb3ZpZGVyPiYmLCBSZWY8QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmLCBV
bmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+JiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5Q
YWdlQ29uZmlndXJhdGlvbigpOwogICAgIFBhZ2VDb25maWd1cmF0aW9uKFBhZ2VDb25maWd1cmF0
aW9uJiYpOwogCkBAIC0xMzgsNiArMTM5LDggQEAgcHVibGljOgogICAgIGJvb2wgdXNlclNjcmlw
dHNTaG91bGRXYWl0VW50aWxOb3RpZmljYXRpb24geyB0cnVlIH07CiAgICAgU2hvdWxkUmVsYXhU
aGlyZFBhcnR5Q29va2llQmxvY2tpbmcgc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tp
bmcgeyBTaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZzo6Tm8gfTsKICAgICBib29s
IGh0dHBzVXBncmFkZUVuYWJsZWQgeyB0cnVlIH07CisKKyAgICBVbmlxdWVSZWY8UGVybWlzc2lv
bkNvbnRyb2xsZXI+IHBlcm1pc3Npb25Db250cm9sbGVyOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5k
ZXggNjZhZWRhNDNjODJkOGJmYjMzNWJiZmVmNjA5NWQwNGVmYWRiODYyMC4uYTc0NWQ3MjAxNWNm
YzE5NWZiOTZmMmNjNTU4NThhODMxYjc1MGVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC02OTQsNiArNjk0
LDcgQEAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJNZWRpYUtleVN5c3RlbUNsaWVudC5j
cHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlk
ZXIuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5j
cHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50
LmNwcAorV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5j
cHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3BwCiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlByb2dyZXNzVHJhY2tlckNsaWVudC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDVmYjMwODk1MDE1NjI0ODY2NjE1M2M2MjRm
NDAzNGVhNGE4ODRmZGYuLjlhODI5NmI5OGQ1YmIwZGI2M2E3ODBmMTViZjM0MjMzZTdlNDNjMWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTcyLDYgKzE3
Miw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9NZWRpYVN0cmVhbVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BlcmZvcm1h
bmNlTG9nZ2luZ0NsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGVybWlzc2lvblN0YXRlLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHVibGljU3VmZml4
Lmg+CkBAIC04NDkzLDYgKzg0OTQsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJldm9rZUdlb2xv
Y2F0aW9uQXV0aG9yaXphdGlvblRva2VuKGNvbnN0IFN0cmluZyYgYXV0aG9yaXphdGkKICAgICBt
X2dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLnJldm9rZUF1dGhvcml6YXRpb25U
b2tlbihhdXRob3JpemF0aW9uVG9rZW4pOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVz
dFBlcm1pc3Npb24oY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6
UGVybWlzc2lvbkRlc2NyaXB0b3ImLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBl
cm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgLy8gRklYTUU6IFNo
b3cgYSBwcm9tcHQgZm9yIHVzZXIgaW5wdXQuCisgICAgY29tcGxldGlvbkhhbmRsZXIoUGVybWlz
c2lvblN0YXRlOjpHcmFudGVkKTsKK30KKwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiBVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSYgV2ViUGFnZVByb3h5Ojp1c2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAppbmRleCBlYTFjMjJmYjZiMTFiZTk2ODk5MjgyNjRkM2JmM2ZjODQ3MTA5Yjhk
Li40NjFhYWNiODg4NmE1MjMxY2NhYWZmMDc0ZjJhMWE1NGMwMTc3ZDc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjk0LDYgKzI5NCw3IEBAIHN0cnVjdCBMaW5r
SWNvbjsKIHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3Q7CiBzdHJ1Y3QgTWVkaWFVc2FnZUluZm87
CiBzdHJ1Y3QgTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbjsKK3N0cnVjdCBQZXJt
aXNzaW9uRGVzY3JpcHRvcjsKIHN0cnVjdCBQcmV3YXJtSW5mb3JtYXRpb247CiBzdHJ1Y3QgU2Vj
dXJpdHlPcmlnaW5EYXRhOwogc3RydWN0IFNoYXJlRGF0YTsKQEAgLTIxMTcsNiArMjExOCw3IEBA
IHByaXZhdGU6CiAKICAgICB2b2lkIHJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFt
ZShHZW9sb2NhdGlvbklkZW50aWZpZXIsIEZyYW1lSW5mb0RhdGEmJik7CiAgICAgdm9pZCByZXZv
a2VHZW9sb2NhdGlvbkF1dGhvcml6YXRpb25Ub2tlbihjb25zdCBTdHJpbmcmIGF1dGhvcml6YXRp
b25Ub2tlbik7CisgICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihjb25zdCBXZWJDb3JlOjpDbGll
bnRPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKT4mJik7CiAKICNpZiBQTEFU
Rk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKICAgICB2b2lkIHNlbmRNZXNzYWdlVG9XZWJWaWV3
KFVzZXJNZXNzYWdlJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluCmluZGV4IGJjMzdiOGZjNmFkZjNlYWQxODcyZDExNTVmZjBjYmQwMDlk
YzBhZjkuLjA3ZTBmNTQ4MDM0Njk3MDNhNmY3MzdkOTkzMDdiMWVjNzM1MGNkMzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTYw
Miw0ICs2MDIsNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2lmIEhBVkUoQVJLSVRf
SU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIE1vZGVsRWxlbWVudERpZENyZWF0ZVByZXZpZXcoc3Ry
dWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0IGVsZW1lbnRDb250ZXh0LCBVUkwgdXJsLCBTdHJp
bmcgdXVpZCwgV2ViQ29yZTo6RmxvYXRTaXplIHNpemUpCiAjZW5kaWYKKworICAgIHJlcXVlc3RQ
ZXJtaXNzaW9uKHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luLCBzdHJ1Y3QgV2Vi
Q29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikgLT4gKGVudW06dWludDhfdCBX
ZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpIEFzeW5jCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmZTNkMzJiMzI5NWMyYzQ0
ZmQ0NDQ0Y2RkN2YxNDFmMjQwMDRjYTAyLi5mYjY4YTNiZDE2ZDI3MzgyY2QzM2M5M2IxMGJlYmUy
OTNiMzNhNTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTE0OTYsNiArMTQ5Niw3IEBACiAJCTkzQUI5QjRFMjU3NTY3RTIwMDk4QjEw
RSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQUI5QjQyMjU3NDkyOEMw
MDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2UuaCAq
LzsgfTsKIAkJOTNBQjlCNTUyNTc1QTI3NjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVh
bHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBQjlCNEYyNTc1ODkxMTAwOThCMTBF
IC8qIFNwZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVj
ZWl2ZXIuY3BwICovOyB9OwogCQk5M0FCOUI1NjI1NzVBMjhCMDA5OEIxMEUgLyogU3BlZWNoUmVj
b2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0FCOUI1
MTI1NzU4OTExMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlh
U291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTkzQjBBNjc1MjZENUFE
Q0YwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NzQyNkQ1QTcyRTAwQUEyMUU0IC8q
IFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggKi87IH07CiAJCTkzQjI2MTREMjI3RDE0OUUwMEI5
N0E3NiAvKiBTdG9yYWdlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTNCMjYxNDkyMjdEMTQ3MjAwQjk3QTc2IC8qIFN0b3JhZ2VNYW5hZ2Vy
LmggKi87IH07CiAJCTkzQjI2MTRFMjI3RDE0QjEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRh
YmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNC
MjYxNDUyMjdEMTQ3MDAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmggKi87IH07CiAJ
CTkzQjI2MTRGMjI3RDE0QjEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjI2MTQ2
MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaCAqLzsgfTsK
QEAgLTQ5MTQsNiArNDkxNSwxMCBAQAogCQk5M0FCOUI1MjI1NzU4OTEyMDA5OEIxMEUgLyogU3Bl
ZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzUmVw
bGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGVlY2hSZWNvZ25pdGlv
blJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQUI5QjUzMjU3NTg5MTIwMDk4QjEwRSAvKiBTcGVl
Y2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3BlZWNoUmVjb2duaXRpb25SZW1vdGVS
ZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTkzQUI5QjU0MjU3NTg5MTIwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJl
YWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3BlZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1l
c3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjZEMjZENDUxNTAw
MEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBQZXJtaXNzaW9uTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTkzQjBBNjZFMjZENDUxNTAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uTWFuYWdlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY3MzI2RDVBNzJFMDBBQTIxRTQgLyog
V2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5M0IwQTY3NDI2RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRy
b2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUGVybWlzc2lvbkNv
bnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMjYxNDUyMjdEMTQ3
MDAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExvY2FsU3RvcmFnZURhdGFiYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTkzQjI2MTQ2MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFz
ZVRyYWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxTdG9yYWdl
RGF0YWJhc2VUcmFja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjI2MTQ3
MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFj
a2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk2MjMsNiArOTYyOCwxNSBA
QAogCQkJcGF0aCA9IFNwZWVjaDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJ
CTkzQjBBNjZDMjZENDUxMUYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uICovID0geworCQkJaXNhID0g
UEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk5M0IwQTY2RDI2RDQ1MTUwMDBBQTIxRTQg
LyogUGVybWlzc2lvbk1hbmFnZXIuY3BwICovLAorCQkJCTkzQjBBNjZFMjZENDUxNTAwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uTWFuYWdlci5oICovLAorCQkJKTsKKwkJCXBhdGggPSBQZXJtaXNzaW9u
OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJOTNCMjYxNDMyMjdEMTQzMTAw
Qjk3QTc2IC8qIFdlYlN0b3JhZ2UgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKApAQCAtOTg2Myw2ICs5ODc3LDcgQEAKIAkJCQk0QTQxMEY0MTE5QUY3QjI3MDAyRUJB
QjUgLyogTWVkaWFTdHJlYW0gKi8sCiAJCQkJNTEwNUIwRDIxNjJGN0E1RTAwRTI3NzA5IC8qIE5l
dHdvcmsgKi8sCiAJCQkJMzEwOTk5NzQxNDZDOEFBODAwMjlERUI5IC8qIE5vdGlmaWNhdGlvbnMg
KFVzZXIpICovLAorCQkJCTkzQjBBNjZDMjZENDUxMUYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uICov
LAogCQkJCTFBNkZCN0FBMTFFNjRCNDkwMERCMTM3MSAvKiBQbHVnaW5zICovLAogCQkJCTkzQUI5
QjQ4MjU3NEM1Q0UwMDk4QjEwRSAvKiBTcGVlY2ggKi8sCiAJCQkJNTExOEU5OTgxRjI5NTI1OTAw
M0VGOUY1IC8qIFN0b3JhZ2UgKi8sCkBAIC05OTMzLDYgKzk5NDgsOCBAQAogCQkJCTUxMjEyN0My
MTkwODIzOUEwMERBRjM1QyAvKiBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmggKi8sCiAJCQkJMEY4
NTBGRTQxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAg
Ki8sCiAJCQkJMEY4NTBGRTUxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2lu
Z0NsaWVudC5oICovLAorCQkJCTkzQjBBNjczMjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNz
aW9uQ29udHJvbGxlci5jcHAgKi8sCisJCQkJOTNCMEE2NzQyNkQ1QTcyRTAwQUEyMUU0IC8qIFdl
YlBlcm1pc3Npb25Db250cm9sbGVyLmggKi8sCiAJCQkJMUEzRTczNjAxMUNDMjY1OTAwN0JENTM5
IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgKi8sCiAJCQkJMUEzRTczNUYxMUNDMjY1OTAw
N0JENTM5IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5oICovLAogCQkJCUQzQjk0ODQyMTFGRjRC
NjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuY3BwICovLApAQCAtMTI2NjIsNiArMTI2NzksNyBA
QAogCQkJCUExNzk4QjRDMjIyRjFCRDQwMDA3NjRCRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eUNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUIxRjc5OTFEMUIzNjEzMDA3QzlCRDEg
LyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEY4NTBGRTcxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NzUyNkQ1QURDRjAwQUEyMUU0IC8qIFdlYlBl
cm1pc3Npb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTNFNzM2MTExQ0MyNjU5
MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzU3NDRGMDEyNjM4RkIzMDA2RjBGMTIgLyogV2ViUG9wdXBJdGVtLmggaW4gSGVhZGVycyAqLywK
IAkJCQlEM0I5NDg0NzExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFi
OTAzNThkMWNiMTY5YWM1ZTdiYjNhNGI3NzllZWFlOTY1NjAwNTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNv
bnRyb2xsZXIuY3BwCkBAIC0wLDAgKzEsMTM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIldlYlBlcm1pc3Npb25Db250cm9sbGVyLmgiCisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6V2ViUGVybWlzc2lvbkNvbnRy
b2xsZXIoV2ViUGFnZSYgcGFnZSkKKyAgICA6IG1fcGFnZShtYWtlV2Vha1B0cihwYWdlKSkKK3sK
K30KKworUGVybWlzc2lvblN0YXRlIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpxdWVyeShXZWJD
b3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9y
JiYgZGVzY3JpcHRvcikKK3sKKyAgICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0dXJuIFdlYkNv
cmU6OlBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkOworCisgICAgcmV0dXJuIHF1ZXJ5Q2FjaGUoV1RG
TW92ZShvcmlnaW4pLCBXVEZNb3ZlKGRlc2NyaXB0b3IpKTsKK30KKwordm9pZCBXZWJQZXJtaXNz
aW9uQ29udHJvbGxlcjo6cmVxdWVzdChDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNvcmU6OlBl
cm1pc3Npb25EZXNjcmlwdG9yJiYgZGVzY3JpcHRvciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChQ
ZXJtaXNzaW9uU3RhdGUpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGlmICghbV9wYWdl
KQorICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoUGVybWlzc2lvblN0YXRlOjpEZW5p
ZWQpOworCisgICAgYXV0byBjYWNoZWRSZXN1bHQgPSBxdWVyeUNhY2hlKG9yaWdpbiwgZGVzY3Jp
cHRvcik7CisgICAgaWYgKGNhY2hlZFJlc3VsdCAhPSBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6
OlByb21wdCkKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGNhY2hlZFJlc3VsdCk7
CisKKyAgICBtX3JlcXVlc3RzLmFwcGVuZChQZXJtaXNzaW9uUmVxdWVzdCB7IFdURk1vdmUob3Jp
Z2luKSwgV1RGTW92ZShkZXNjcmlwdG9yKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikgfSk7
CisgICAgdHJ5UHJvY2Vzc2luZ1JlcXVlc3QoKTsKK30KKworUGVybWlzc2lvblN0YXRlIFdlYlBl
cm1pc3Npb25Db250cm9sbGVyOjpxdWVyeUNhY2hlKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdp
biYgb3JpZ2luLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRv
cikKK3sKKyAgICBpZiAobV9jYWNoZWRQZXJtaXNzaW9uRW50cmllcy5jb250YWlucyhvcmlnaW4p
KSB7CisgICAgICAgIGF1dG8gcGVybWlzc2lvbkVudHJpZXMgPSBtX2NhY2hlZFBlcm1pc3Npb25F
bnRyaWVzLmdldChvcmlnaW4pOworICAgICAgICBmb3IgKGF1dG8mIGVudHJ5IDogcGVybWlzc2lv
bkVudHJpZXMpIHsKKyAgICAgICAgICAgIGlmIChlbnRyeS5maXJzdCA9PSBkZXNjcmlwdG9yKQor
ICAgICAgICAgICAgICAgIHJldHVybiBlbnRyeS5zZWNvbmQ7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICByZXR1cm4gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpQcm9tcHQ7Cit9CisKK3ZvaWQg
V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnVwZGF0ZUNhY2hlKGNvbnN0IENsaWVudE9yaWdpbiYg
b3JpZ2luLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvciwg
V2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHN0YXRlKQoreworICAgIGF1dG8mIGVudHJpZXMgPSBt
X2NhY2hlZFBlcm1pc3Npb25FbnRyaWVzLmVuc3VyZShvcmlnaW4sIFsmXSgpIHsKKyAgICAgICAg
cmV0dXJuIFZlY3RvcjxQZXJtaXNzaW9uRW50cnk+IHsgfTsKKyAgICB9KS5pdGVyYXRvci0+dmFs
dWU7CisgICAgZm9yIChhdXRvJiBlbnRyeSA6IGVudHJpZXMpIHsKKyAgICAgICAgaWYgKGVudHJ5
LmZpcnN0ID09IGRlc2NyaXB0b3IpIHsKKyAgICAgICAgICAgIGlmIChlbnRyeS5zZWNvbmQgPT0g
c3RhdGUpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBlbnRyeS5zZWNv
bmQgPSBzdGF0ZTsKKyAgICAgICAgICAgIHBlcm1pc3Npb25DaGFuZ2VkKG9yaWdpbiwgZGVzY3Jp
cHRvciwgc3RhdGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorfQor
Cit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQcm9jZXNzaW5nUmVxdWVzdCgpCit7
CisgICAgaWYgKG1fcmVxdWVzdHMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKKyAgICB3
aGlsZSAoIW1fcmVxdWVzdHMuaXNFbXB0eSgpKSB7CisgICAgICAgIGF1dG8mIGN1cnJlbnRSZXF1
ZXN0ID0gbV9yZXF1ZXN0cy5maXJzdCgpOworICAgICAgICBpZiAoY3VycmVudFJlcXVlc3QuaXNX
YWl0aW5nRm9yUmVwbHkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgLy8gQ2FjaGUg
bWF5IGhhdmUgY2hhbmdlZCBiZXR3ZWVuIHJlcXVlc3RzLgorICAgICAgICBhdXRvIGNhY2hlZFJl
c3VsdCA9IHF1ZXJ5Q2FjaGUoY3VycmVudFJlcXVlc3Qub3JpZ2luLCBjdXJyZW50UmVxdWVzdC5k
ZXNjcmlwdG9yKTsKKyAgICAgICAgaWYgKGNhY2hlZFJlc3VsdCAhPSBXZWJDb3JlOjpQZXJtaXNz
aW9uU3RhdGU6OlByb21wdCkgeworICAgICAgICAgICAgYXV0byB0YWtlblJlcXVlc3QgPSBtX3Jl
cXVlc3RzLnRha2VGaXJzdCgpOworICAgICAgICAgICAgdGFrZW5SZXF1ZXN0LmNvbXBsZXRpb25I
YW5kbGVyKGNhY2hlZFJlc3VsdCk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQor
CisgICAgICAgIGN1cnJlbnRSZXF1ZXN0LmlzV2FpdGluZ0ZvclJlcGx5ID0gdHJ1ZTsKKyAgICAg
ICAgbV9wYWdlLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6cmVx
dWVzdFBlcm1pc3Npb24oY3VycmVudFJlcXVlc3Qub3JpZ2luLCBjdXJyZW50UmVxdWVzdC5kZXNj
cmlwdG9yKSwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXShhdXRvIHN0YXRl
KSB7CisgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICAgICAgYXV0byB0YWtlblJlcXVlc3QgPSBtX3JlcXVlc3RzLnRha2VGaXJzdCgp
OworICAgICAgICAgICAgdGFrZW5SZXF1ZXN0LmNvbXBsZXRpb25IYW5kbGVyKHN0YXRlKTsKKyAg
ICAgICAgICAgIHVwZGF0ZUNhY2hlKHRha2VuUmVxdWVzdC5vcmlnaW4sIHRha2VuUmVxdWVzdC5k
ZXNjcmlwdG9yLCBzdGF0ZSk7CisKKyAgICAgICAgICAgIHRyeVByb2Nlc3NpbmdSZXF1ZXN0KCk7
CisgICAgICAgIH0pOworICAgIH0KK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6
YWRkT2JzZXJ2ZXIoV2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAg
ICBtX29ic2VydmVycy5hZGQob2JzZXJ2ZXIpOworfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250
cm9sbGVyOjpyZW1vdmVPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImIG9ic2Vy
dmVyKQoreworICAgIG1fb2JzZXJ2ZXJzLnJlbW92ZShvYnNlcnZlcik7Cit9CisKK3ZvaWQgV2Vi
UGVybWlzc2lvbkNvbnRyb2xsZXI6OnBlcm1pc3Npb25DaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkNs
aWVudE9yaWdpbiYgb3JpZ2luLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYg
ZGVzY3JpcHRvciwgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHN0YXRlKQoreworICAgIGZvciAo
YXV0byYgb2JzZXJ2ZXIgOiBtX29ic2VydmVycykgeworICAgICAgICBpZiAob2JzZXJ2ZXIub3Jp
Z2luKCkgPT0gb3JpZ2luICYmIG9ic2VydmVyLmRlc2NyaXB0b3IoKSA9PSBkZXNjcmlwdG9yKQor
ICAgICAgICAgICAgb2JzZXJ2ZXIuc3RhdGVDaGFuZ2VkKHN0YXRlKTsKKyAgICB9Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wYzZkNTEwYzcxMGU1M2U5NmFjNmI0ODI1NzdkM2U0MjdhZGJiMWRkCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBl
cm1pc3Npb25Db250cm9sbGVyLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uQ29udHJvbGxlci5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvUGVybWlzc2lvbkRlc2NyaXB0b3IuaD4KKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK2NsYXNzIFdlYlBlcm1pc3Npb25Db250cm9sbGVyIGZpbmFsIDogcHVibGljIFdlYkNv
cmU6OlBlcm1pc3Npb25Db250cm9sbGVyIHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBXZWJQZXJt
aXNzaW9uQ29udHJvbGxlcihXZWJQYWdlJik7CisKK3ByaXZhdGU6CisgICAgLy8gV2ViQ29yZTo6
UGVybWlzc2lvbkNvbnRyb2xsZXIKKyAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgcXVlcnko
V2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiYp
IGZpbmFsOworICAgIHZvaWQgcmVxdWVzdChXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29y
ZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3Jl
OjpQZXJtaXNzaW9uU3RhdGUpPiYmKSBmaW5hbDsKKyAgICB2b2lkIGFkZE9ic2VydmVyKFdlYkNv
cmU6OlBlcm1pc3Npb25PYnNlcnZlciYpIGZpbmFsOworICAgIHZvaWQgcmVtb3ZlT2JzZXJ2ZXIo
V2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyJikgZmluYWw7CisKKyAgICBXZWJDb3JlOjpQZXJt
aXNzaW9uU3RhdGUgcXVlcnlDYWNoZShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBjb25z
dCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYpOworICAgIHZvaWQgdXBkYXRlQ2FjaGUo
Y29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRl
c2NyaXB0b3ImLCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpOworICAgIHZvaWQgdHJ5UHJvY2Vz
c2luZ1JlcXVlc3QoKTsKKyAgICB2b2lkIHBlcm1pc3Npb25DaGFuZ2VkKGNvbnN0IFdlYkNvcmU6
OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiwgV2Vi
Q29yZTo6UGVybWlzc2lvblN0YXRlKTsKKworICAgIFdlYWtQdHI8V2ViUGFnZT4gbV9wYWdlOwor
ICAgIFdlYWtIYXNoU2V0PFdlYkNvcmU6OlBlcm1pc3Npb25PYnNlcnZlcj4gbV9vYnNlcnZlcnM7
CisKKyAgICB1c2luZyBQZXJtaXNzaW9uRW50cnkgPSBzdGQ6OnBhaXI8V2ViQ29yZTo6UGVybWlz
c2lvbkRlc2NyaXB0b3IsIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZT47CisgICAgSGFzaE1hcDxX
ZWJDb3JlOjpDbGllbnRPcmlnaW4sIFZlY3RvcjxQZXJtaXNzaW9uRW50cnk+PiBtX2NhY2hlZFBl
cm1pc3Npb25FbnRyaWVzOworCisgICAgc3RydWN0IFBlcm1pc3Npb25SZXF1ZXN0IHsKKyAgICAg
ICAgV2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdpbjsKKyAgICAgICAgV2ViQ29yZTo6UGVybWlz
c2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcjsKKyAgICAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpPiBjb21wbGV0aW9uSGFuZGxlcjsKKyAgICAgICAg
Ym9vbCBpc1dhaXRpbmdGb3JSZXBseSB7IGZhbHNlIH07CisgICAgfTsKKyAgICBEZXF1ZTxQZXJt
aXNzaW9uUmVxdWVzdD4gbV9yZXF1ZXN0czsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMDRl
M2FlMjAxNDNmMmYzZGJkMjA2NGEzMDJmMDFiODRlZGNhOTY0NS4uNzExZWQ4ZTkyMjc2ZWI5MzFm
NTQ0NWM3NGZkNmMzYjBlOWViNTQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTEyMSw2ICsxMjEsNyBAQAogI2luY2x1ZGUgIldlYlBhZ2VQ
cm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGF5bWVudENvb3JkaW5hdG9yLmgiCiAjaW5j
bHVkZSAiV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmgiCisjaW5jbHVkZSAiV2ViUGVybWlz
c2lvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXZWJQbHVnaW5JbmZvUHJvdmlkZXIuaCIKICNp
bmNsdWRlICJXZWJQb3B1cE1lbnUuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlc0RlZmluaXRp
b25zLmgiCkBAIC01NjMsNyArNTY0LDggQEAgV2ViUGFnZTo6V2ViUGFnZShQYWdlSWRlbnRpZmll
ciBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgICAg
ICBtYWtlVW5pcXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xpZW50PihtX21haW5GcmFtZS5jb3B5UmVm
KCkpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYlNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+
KG1faWRlbnRpZmllciksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3Zp
ZGVyPigqdGhpcyksCi0gICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmJyb2FkY2FzdENo
YW5uZWxSZWdpc3RyeSgpCisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmJyb2FkY2Fz
dENoYW5uZWxSZWdpc3RyeSgpLAorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYlBlcm1pc3Npb25D
b250cm9sbGVyPigqdGhpcykKICAgICApOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNs
aWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoKnRoaXMpOwogI2lmIEVOQUJMRShDT05URVhUX01F
TlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0Rp
c3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCmluZGV4IGJiZjhkMWJiOGNlNmMzMDFk
YzNlZjIwMTk1M2Q4MmZlYzA1ZWRkNTguLjU2YmM4MWM3OGYzNGFhNDUzNDc5MzVkMjcxZWM1NzBj
M2ZjN2VlNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmgKQEAgLTUwLDcgKzUwLDcg
QEAgcHJpdmF0ZToKICAgICBib29sIHN0YXJ0Tm90aWZpY2F0aW9uTWVjaGFuaXNtKCkgZmluYWw7
CiAgICAgdm9pZCBzdG9wTm90aWZpY2F0aW9uTWVjaGFuaXNtKCkgZmluYWw7CiAKLSAgICB2b2lk
IGFkanVzdFByZWZlcnJlZEZyYW1lc1BlclNlY29uZChGcmFtZXNQZXJTZWNvbmQpIGZpbmFsOwor
ICAgIHZvaWQgYWRqdXN0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKFdlYkNvcmU6OkZyYW1lc1Bl
clNlY29uZCkgZmluYWw7CiAKICAgICBEaXNwbGF5TGlua09ic2VydmVySUQgbV9vYnNlcnZlcklE
OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpSdW5Mb29wT2JzZXJ2ZXI+IG1fcnVuTG9v
cE9ic2VydmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmlu
ZGV4IGNkNmE1ZjU3Mjk5NGY3ZWM0ZmJkZTc2MzdkZjg2N2JkNTJmM2M4MzQuLjQ4MDNlYmM5ZWM3
N2U4OGUxNWIyOGUyYmVkYzE2ZDY3M2E3Mjg5Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTE5NSw2ICsxOTUsNyBAQAogI2ltcG9ydCA8V2ViQ29y
ZS9QYWdlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2VDb25maWd1cmF0aW9uLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL1BhdGhVdGlsaXRpZXMuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUGVybWlzc2lvbkNv
bnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1TY3JlZW4uaD4KICNpbXBvcnQgPFdlYkNvcmUvUHJv
Z3Jlc3NUcmFja2VyLmg+CkBAIC0xNTM2LDcgKzE1MzcsOCBAQCBzdGF0aWMgdm9pZCBXZWJLaXRJ
bml0aWFsaXplR2FtZXBhZFByb3ZpZGVySWZOZWNlc3NhcnkoKQogICAgICAgICBtYWtlVW5pcXVl
UmVmPFdlYkZyYW1lTG9hZGVyQ2xpZW50PigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNv
cmU6OkR1bW15U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4oKSwKICAgICAgICAgbWFrZVVuaXF1
ZVJlZjxXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCksCi0gICAgICAgIFdlYkJyb2Fk
Y2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoW1tzZWxmIHByZWZlcmVuY2VzXSBwcml2
YXRlQnJvd3NpbmdFbmFibGVkXSkKKyAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5
OjpnZXRPckNyZWF0ZShbW3NlbGYgcHJlZmVyZW5jZXNdIHByaXZhdGVCcm93c2luZ0VuYWJsZWRd
KSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpEdW1teVBlcm1pc3Npb25Db250cm9s
bGVyPigpCiAgICAgKTsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBwYWdlQ29uZmln
dXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KHNlbGYpOwpAQCAtMTgx
NCw3ICsxODE2LDggQEAgc3RhdGljIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUdhbWVwYWRQcm92aWRl
cklmTmVjZXNzYXJ5KCkKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJGcmFtZUxvYWRlckNsaWVu
dD4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpEdW1teVNwZWVjaFJlY29nbml0
aW9uUHJvdmlkZXI+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TWVkaWFSZWNv
cmRlclByb3ZpZGVyPigpLAotICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6Omdl
dE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0pCisg
ICAgICAgIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoW1tzZWxmIHBy
ZWZlcmVuY2VzXSBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSksCisgICAgICAgIG1ha2VVbmlxdWVS
ZWY8V2ViQ29yZTo6RHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlcj4oKQogICAgICk7CiAgICAgcGFn
ZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudElPUyhzZWxm
KTsKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGYxMzVmZGMzMDk3NTYwOTc2ZGE4
MDhjOTk4OWYwMDczYmM5MWQ0ZTkuLjg4YWJiMDNiNmI2ZjM4MmUxYjMxNmJmOWJhYzJmM2NmNDA4
NTI0MDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wOC0yNiAgU2lodWkgTGl1ICA8c2lo
dWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQ
SQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0
RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdh
dG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93
azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0wOC0yNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGluIEdyYXBoaWNzQ29udGV4
dEdMT3BlbkdMOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCmluZGV4IDhhNjY1MGY4ODI4NDk5ODAyYTlkMjBlZmU2OWI1NDMzN2I2NDRiOGYu
LjM5YWUyOGY3NDQzYjRkNDNjMTE0NDc2OTEzZWRmZjQxMDM2MDQ1YTMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA4LTI2ICBTaWh1aSBMaXUg
IDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdHVicyBmb3IgUGVybWlzc2lv
bnMgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjkzMzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3Mu
YW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Bl
cm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3kt
YXR0cmlidXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2Nr
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMt
YmFja2dyb3VuZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA4LTI1ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW01hYyB3azJdIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9s
aWN5L3JlcG9ydGluZy10by1mcmFtZS1vd25lci5odHRwcy5odG1sIGlzIGEgZmxha3kgZmFpbHVy
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNmJkZTJmOTRlYWQyMTdiODY0NDMyNTcxOGMxZjRjNjIx
MWYyNzY3MC4uOGJjOTM2OGQ4YThlZDI4YmFhYTU0MTNkYmY4YWJmMmMxNmZkMTkxZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCkBAIC0xOTYsNiArMTk2LDcgQEAgZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9w
ZXJtaXNzaW9uLWVycm9yLmh0bWwgWyBTa2lwIF0KIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vc3Rh
cnQtcmVjb2duaXRpb24tdGhlbi1zdG9wLmh0bWwgWyBTa2lwIF0KIGZhc3Qvc3BlZWNocmVjb2du
aXRpb24vc3RhcnQtc2Vjb25kLXJlY29nbml0aW9uLmh0bWwgWyBTa2lwIF0KIGZhc3Qvc3BlZWNo
cmVjb2duaXRpb24vaW9zLyBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wZXJtaXNzaW9ucy8gWyBTa2lwIF0KIAogIyBhcHAtcHJpdmFjeS1yZXBvcnQgdGVzdHMgcmVs
eSBvbiBXZWJLaXRBZGRpdGlvbnMKIGh0dHAvdGVzdHMvYXBwLXByaXZhY3ktcmVwb3J0LyBbIFNr
aXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3Mu
YW55LWV4cGVjdGVkLnR4dAppbmRleCBiODRkNDBkNzY1ZjIwNDA4M2RlZjhiNjc3MDBjNDIwNDRi
MDM0Njk4Li4wYzRiYWEwY2ZlZTAxZjk0Y2VhZjRhZjdmYjM4Zjg5YjRmYjZiYmU3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Np
b25zL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55LWV4cGVj
dGVkLnR4dApAQCAtMTksMjkgKzE5LDI5IEBAIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVz
IE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0
b3IgaW5jbHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQ
QVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JPbkxpbmU6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JDb25j
dXJyZW50SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCi1GQUlMIFBlcm1pc3Npb25T
dGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIg
bWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1p
c3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5n
Ci1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0
dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBl
cm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkg
IlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVy
dHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJv
cGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0
eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5
ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgbXVzdCBi
ZSBwcmltYXJ5IGludGVyZmFjZSBvZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9lcXVhbHM6IFVu
ZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBi
dXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1p
c3Npb25TdGF0dXMiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBwZXJtaXNzaW9uU3RhdHVzIGFz
c2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3Qg
ZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJm
YWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RhdGUiIHdpdGgg
dGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4g
ZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBlcm1p
c3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib25jaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhw
ZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQg
Z290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Np
b25TdGF0dXMiCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQ
ZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IGxl
bmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1G
QUlMIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQg
cHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBl
cm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwg
UGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBv
cGVyYXRpb24gcXVlcnkob2JqZWN0KSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90
IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1p
c3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZh
Y2Ugb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBv
YmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBTdHJpbmdp
ZmljYXRpb24gb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5
cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBQ
ZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG5hdmlnYXRvci5wZXJtaXNzaW9ucyBtdXN0IGluaGVyaXQg
cHJvcGVydHkgInF1ZXJ5KG9iamVjdCkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVh
bHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZp
bmVkIgotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGNhbGxpbmcgcXVlcnkob2JqZWN0KSBv
biBuYXZpZ2F0b3IucGVybWlzc2lvbnMgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93
IFR5cGVFcnJvciBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJv
YmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0
cmlidXRlIHBlcm1pc3Npb25zIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0
IGhhdmUgYSBwcm9wZXJ0eSAicGVybWlzc2lvbnMiIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1G
QUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IG5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkg
InBlcm1pc3Npb25zIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3Bl
cnR5ICJwZXJtaXNzaW9ucyIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorUEFTUyBQZXJt
aXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0
aAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQZXJt
aXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAi
Y29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBA
QHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgc3RhdGUKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbmNoYW5nZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZh
Y2Ugb2YgcGVybWlzc2lvblN0YXR1cworUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgcGVybWlzc2lv
blN0YXR1cworUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0YXR1
cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0YXRlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFT
UyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9uY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBQZXJtaXNz
aW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2Jq
ZWN0CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1p
c3Npb25zIGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAor
UEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1Mg
UGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1p
c3Npb25zIGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5KG9iamVjdCkKK1BBU1MgUGVybWlzc2lv
bnMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMKK1BB
U1MgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5wZXJtaXNzaW9ucworUEFTUyBQZXJtaXNz
aW9ucyBpbnRlcmZhY2U6IG5hdmlnYXRvci5wZXJtaXNzaW9ucyBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgInF1ZXJ5KG9iamVjdCkiIHdpdGggdGhlIHByb3BlciB0eXBlCitQQVNTIFBlcm1pc3Npb25z
IGludGVyZmFjZTogY2FsbGluZyBxdWVyeShvYmplY3QpIG9uIG5hdmlnYXRvci5wZXJtaXNzaW9u
cyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yCitQQVNTIE5hdmln
YXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwZXJtaXNzaW9ucworUEFTUyBOYXZpZ2F0b3IgaW50
ZXJmYWNlOiBuYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJwZXJtaXNzaW9ucyIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDUyNTYw
MmQxNmQ3ZjBmNTRjYThlZjAzZjdmY2Y1YjRlZWVmMzE2OTcuLjA2MmIyOTU3ZjMxNTUxYjM1MmE0
OTU0MTZjM2Y0YWJmYTU3OTllNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTE5
LDI1ICsxOSwyNSBAQCBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JJRDog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5h
dmlnYXRvckxhbmd1YWdlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZp
Z2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yT25MaW5lOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQog
UEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJl
OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0
YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwg
UGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNz
aW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBw
cm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVz
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3Rh
dHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0
b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9u
U3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2Nv
cGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNz
aW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgc3RhdGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25T
dGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbmNoYW5nZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0
YXR1cyIgbWlzc2luZworUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvblN0YXR1
cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFj
ZSBvYmplY3QgbmFtZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIFBlcm1p
c3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFBlcm1p
c3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1p
c3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3RhdGUKK1BBU1MgUGVybWlzc2lvblN0
YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNoYW5nZQogRkFJTCBQZXJtaXNzaW9uU3RhdHVz
IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgcGVybWlzc2lvblN0YXR1cyBhc3NlcnRfZXF1
YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVk
IG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBwZXJtaXNzaW9uU3RhdHVzIgogRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgcGVybWlzc2lvblN0
YXR1cyBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcg
b2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgogRkFJTCBQZXJtaXNzaW9uU3RhdHVz
IGludGVyZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0YXRl
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlv
biB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgogRkFJ
TCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9uY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxz
OiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51
bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBw
ZXJtaXNzaW9uU3RhdHVzIgotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9i
amVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlz
c2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4
cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5n
Ci1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNz
aW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1p
c3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0
ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVy
ZmFjZTogb3BlcmF0aW9uIHF1ZXJ5KG9iamVjdCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5
ICJQZXJtaXNzaW9ucyIgbWlzc2luZworUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIFBlcm1pc3Npb25z
IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmpl
Y3QgbmFtZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9ucyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogb3Bl
cmF0aW9uIHF1ZXJ5KG9iamVjdCkKIEZBSUwgUGVybWlzc2lvbnMgbXVzdCBiZSBwcmltYXJ5IGlu
dGVyZmFjZSBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlw
ZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCiBGQUlMIFN0
cmluZ2lmaWNhdGlvbiBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgYXNzZXJ0X2VxdWFsczogd3Jv
bmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCiBG
QUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogbmF2aWdhdG9yLnBlcm1pc3Npb25zIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAicXVlcnkob2JqZWN0KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0
X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1
bmRlZmluZWQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBl
cm1pc3Npb24tZXhwZWN0ZWQudHh0CmluZGV4IGMzZTg2MDVmODcyODdhODAzODFmNWRiODA2Y2Rk
MDVhMjU1NjVkZGUuLmMyZmQ2NWU4ZDQwMDJhNzIzMDE4N2E2MWY1MWMyODJlZmMxYzZiZWMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvbmZjLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24t
ZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgV2ViIE5GQyBQZXJtaXNz
aW9uLiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBl
cm1pc3Npb25zLnF1ZXJ5JykKK1BBU1MgVGVzdCBXZWIgTkZDIFBlcm1pc3Npb24uCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlz
c2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1
Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0
ZS5odHRwcy5zdWItZXhwZWN0ZWQudHh0CmluZGV4IGU0MmRkYTI2MTJmMjU3YjdmMDJiYmVlZjY1
NjMzYjI1YjczNjQ3YTUuLmM0YmEyNDkyZTk5MTk5ZDY2NjA1YThjMDFhYTAxNTFiOTYyNDYwNzgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGVybWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0
dHBzLnN1Yi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGlj
eS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJ
TCBQZXJtaXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93PSJnZW9sb2NhdGlvbiIg
aW4gc2FtZS1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Np
b25zLnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJwcm9tcHQiIGJ1dCBn
b3QgKG9iamVjdCkgbnVsbAotRkFJTCBQZXJtaXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRo
IGFsbG93PSJnZW9sb2NhdGlvbiIgaW4gY3Jvc3Mtb3JpZ2luIGlmcmFtZXMuIGFzc2VydF9lcXVh
bHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9jYXRpb24iKSBleHBlY3RlZCAo
c3RyaW5nKSAicHJvbXB0IiBidXQgZ290IChvYmplY3QpIG51bGwKLUZBSUwgUGVybWlzc2lvbi5z
dGF0ZSBpcyAicHJvbXB0IiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBu
YXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgKHN0cmlu
ZykgInByb21wdCIgYnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIFBlcm1pc3Npb24uc3RhdGUg
aXMgImRlbmllZCIgaW4gY3Jvc3Mtb3JpZ2luIGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmln
YXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9jYXRpb24iKSBleHBlY3RlZCAoc3RyaW5nKSAi
ZGVuaWVkIiBidXQgZ290IChvYmplY3QpIG51bGwKK1BBU1MgUGVybWlzc2lvbnMuc3RhdGUgaXMg
InByb21wdCIgd2l0aCBhbGxvdz0iZ2VvbG9jYXRpb24iIGluIHNhbWUtb3JpZ2luIGlmcmFtZXMu
CitQQVNTIFBlcm1pc3Npb25zLnN0YXRlIGlzICJwcm9tcHQiIHdpdGggYWxsb3c9Imdlb2xvY2F0
aW9uIiBpbiBjcm9zcy1vcmlnaW4gaWZyYW1lcy4KK1BBU1MgUGVybWlzc2lvbi5zdGF0ZSBpcyAi
cHJvbXB0IiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLgorRkFJTCBQZXJtaXNzaW9uLnN0YXRlIGlz
ICJkZW5pZWQiIGluIGNyb3NzLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0
b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgImRlbmllZCIgYnV0
IGdvdCAicHJvbXB0IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJt
aXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dAppbmRleCAxMWZiMWEw
ZDYxMjRkYTk0ZTAwMWU3ZGQ5MjNlMDE3Y2U2OWU3OGJhLi4wZTRlYmNjNDdjY2I5Mzg5MDhlY2U4
NGNjNjhmMTUzZDA4NTM3OWE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQKQEAgLTEs
MyArMSwzIEBACiAKLUZBSUwgVGVzdCBQZXJtaXNzaW9uU3RhdHVzJ3MgbmFtZSBhdHRyaWJ1dGUu
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRv
ci5wZXJtaXNzaW9ucy5xdWVyeScpIgorUEFTUyBUZXN0IFBlcm1pc3Npb25TdGF0dXMncyBuYW1l
IGF0dHJpYnV0ZS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CmluZGV4
IDg1YzdiYmE1YzJiMjQ1OTNmNTFlMjE0NmJlMjViZDE2ZmEwNWZmNTguLjhlMGU3MDJkMWYyZGQ0
OGNhNjk5OWNhNWZiOTRlNTEyYTY0NWJlOWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvc2NyZWVuLXdha2UtbG9jay1w
ZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCAic2NyZWVuLXdha2UtbG9j
ayIgUGVybWlzc2lvbi4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykiCitQQVNTIFRlc3QgInNjcmVlbi13
YWtlLWxvY2siIFBlcm1pc3Npb24uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNo
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lv
bi1leHBlY3RlZC50eHQKaW5kZXggOWE5NDI2OWZiNzQzOGZjNjNiZTE4ZDAwY2QyOTk3Y2M1OWJh
OGRkNi4uNzg1YmI1ODVmNTE1OTVmZGVhMDUyMzQxNjcyMzgxM2M4ZGIyMzE1OSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9u
cy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0
LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBA
CiAKLUZBSUwgVGVzdCBCYWNrZ3JvdW5kIEZldGNoIFBlcm1pc3Npb24uIHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKQor
UEFTUyBUZXN0IEJhY2tncm91bmQgRmV0Y2ggUGVybWlzc2lvbi4KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0
LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1w
ZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXggMzE2
ZDM1MWEwZTA3NTRiMWU1MDliZjNjYTBhZGE0YjY0ZGUzNTZhNy4uNGU5ZjM3YTg3NTZlYjE3YTJm
Yjg0ZjExNzAyYTE0M2E4NmI3MDk5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91
bmQtc3luYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dy
b3VuZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlM
IFRlc3QgUGVyaW9kaWMgQmFja2dyb3VuZCBTeW5jIFBlcm1pc3Npb24uIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5x
dWVyeScpIgorRkFJTCBUZXN0IFBlcmlvZGljIEJhY2tncm91bmQgU3luYyBQZXJtaXNzaW9uLiBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IFR5cGUgZXJyb3IiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVk
LW5vLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCBkZjkwMTA5MDRkNTc3ZTg1YTA3NjY2N2E5Mzdh
ZDc3ZTZkOGY1OTU3Li5jNjhkM2NhMGIzMGNkY2VlN2RlMWViN2JlNDEzNjlhMGJlZGI4M2JhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRv
ci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQu
dHh0CkBAIC0xOCw2ICsxOCw3IEBAIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBpcyBPSwog
bmF2aWdhdG9yLm1lZGlhU2Vzc2lvbiBpcyBPSwogbmF2aWdhdG9yLm1pbWVUeXBlcyBpcyBPSwog
bmF2aWdhdG9yLm9uTGluZSBpcyBPSworbmF2aWdhdG9yLnBlcm1pc3Npb25zIGlzIE9LCiBuYXZp
Z2F0b3IucGxhdGZvcm0gaXMgT0sKIG5hdmlnYXRvci5wbHVnaW5zIGlzIE9LCiBuYXZpZ2F0b3Iu
cHJvZHVjdCBpcyBPSwpAQCAtNTEsNiArNTIsNyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMgaXMgT0sKIG5hdmlnYXRvci5tZWRpYVNlc3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlw
ZXMgaXMgT0sKIG5hdmlnYXRvci5vbkxpbmUgaXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBp
cyBPSwogbmF2aWdhdG9yLnBsYXRmb3JtIGlzIE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwog
bmF2aWdhdG9yLnByb2R1Y3QgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3drMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggNmNlZTBmYTJkNGQ1ZGZmNmI5ZDYxODI3ZWVlM2U5MTRkOTc5Yjk0NS4u
NDA4YzhiNDFiYzQzY2ExYjMzZjA2NDc5MTBhMmJhNWM2NjMzNmRiZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTg2MCw0ICs4NjAsNSBAQCBmYXN0L3Nw
ZWVjaHJlY29nbml0aW9uL3Blcm1pc3Npb24tZXJyb3IuaHRtbCBbIFBhc3MgXQogZmFzdC9zcGVl
Y2hyZWNvZ25pdGlvbi9zdGFydC1yZWNvZ25pdGlvbi10aGVuLXN0b3AuaHRtbCBbIFBhc3MgXQog
ZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1zZWNvbmQtcmVjb2duaXRpb24uaHRtbCBbIFBh
c3MgXQogZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1lbnRlci13aGlsZS1leGl0aW5nLmh0bWwgWyBQ
YXNzIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvIFsgUGFz
cyBdCiAK
</data>
<flag name="commit-queue"
          id="459641"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436578</attachid>
            <date>2021-08-26 15:44:19 -0700</date>
            <delta_ts>2021-08-26 16:05:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210826154417.patch</filename>
            <type>text/plain</type>
            <size>124825</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLjAwYTQ0NjI0ZDI5YWZhNmM4YmNjZTcxM2MyZWU4N2U5Zjc5NTk4
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIxLTA4LTI1
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92
ZSBzb21lIGlPUy1zcGVjaWZpYyBjb21waWxlLXRpbWUgZ3VhcmRzIHRoYXQgYXJlIG5vIGxvbmdl
ciBuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYTkzNTJkZDhlZjlkY2Q5NWZiZDY3MTJiNTRlYjRlZWZm
ZWQyNWMyLi5kODI4YTAwNWQ2NDhiMDgxOWJhMGI5OTdiY2FhMGY1N2I5MjkyNzVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNjkgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiaW5kaW5ncyBj
b2RlIGFuZCBhIGZlYXR1cmUgZmxhZyBmb3IgUGVybWlzc2lvbnMgQVBJLgorICAgICAgICBTcGVj
OiBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLiBSZWJhc2VsaW5lIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9kdWxlcy9w
ZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAg
ICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6b3BlcmF0b3I9
PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yOjpkZWNvZGUp
OgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmg6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZl
ci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OlBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6flBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6c3RhdGVDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUg
Y29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uczo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpQZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJtaXNzaW9uczo6bmF2aWdhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25z
OjpxdWVyeSk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbDogQWRk
ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIGRv
bS9UYXNrU291cmNlLmg6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMpOgorICAgICAg
ICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX3Blcm1pc3Npb25Db250cm9s
bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnBlcm1pc3Npb25Db250cm9sbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Om1faHR0cHNVcGdyYWRlRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
ICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24pOgor
ICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKKwogMjAyMS0wOC0yNSAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGlu
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggNDI0MWIyZTZmYTc4NTRmMTVmZDMzYzZjYTljN2ZlYjM3YmMxZGIyMS4uMDM2Yzkz
YjFjMmI5YzE0NzkwZTI1OTVmM2IyOGVmZWVlODRmNGMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MyBAQAorMjAyMS0wOC0yNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2V0IHVwIGJhc2ljIGluZnJhc3RyY3R1cmUgb2Yg
cGVybWlzc2lvbiBnZXR0aW5nIGFuZCBzZXR0aW5nLgorCisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBl
cm1pc3Npb25Db250cm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRy
b2xsZXI6OnF1ZXJ5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6
OnJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVl
cnlDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRh
dGVDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQ
cm9jZXNzaW5nUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjphZGRPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjpyZW1vdmVPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250
cm9sbGVyOjpwZXJtaXNzaW9uQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fYXBwSGlnaGxp
Z2h0c1Zpc2libGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFjLmg6CisKIDIwMjEtMDgtMjYgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25v
cmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW2N1cmxdIFJFR1JFU1NJT04ocjI4MTE1OCk6
IGZldGNoKCdodHRwOi8vbG9jYWxob3N0LycpIGZyb20gYWJvdXQ6YmxhbmsgZG9lc24ndCBlbWl0
IHRoZSBjb25zb2xlIGVycm9yIG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRl
eCA0NWE1NDg2ZTA1ODA1ZDk3YmMxZTQ4YjQ0ZjkzZGEzMDMyOGE2YTFkLi5mZjc3YjQ5NWE4MmVj
OTI4MzQ5MTU4NGQ2MWFkZDJkZjA5NDg5NzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5h
bWU6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IGluaXRTaW1wbGVIVE1MRG9jdW1l
bnRXaXRoU3R5bGU6ZnJhbWU6cHJlZmVyZW5jZXM6Z3JvdXBOYW1lOl0pOgorCiAyMDIxLTA4LTI0
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gSW1wbGVt
ZW50IHByb2Nlc3Mtc3dhcHBpbmcgYmFzZWQgb24gQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xpY3kg
SFRUUCBoZWFkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCBlMjgxNTEwMjk4YThj
NzM2NDFkYzQwNDk1Njk3YTJkZjQ1YTUxM2NhLi42MGE4ZDQ3NjMzNjA4NzU4ZWY4ODU0MmJmYWFj
YjZiOGI5OTY5ZjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3
Ojppbml0V2l0aEZyYW1lKToKKwogMjAyMS0wOC0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXSzJdIEltcGxlbWVudCBwcm9jZXNzLXN3YXBwaW5nIGJhc2Vk
IG9uIENyb3NzLU9yaWdpbi1PcGVuZXItUG9saWN5IEhUVFAgaGVhZGVyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwu
eWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVy
aW1lbnRhbC55YW1sCmluZGV4IDE4NWE1YWMwZjQ1NGM3NmMwMzQ3OTJhZDE4NTc2MWZjY2E2OTQ5
OTEuLjU1NTQ2MDBkYmM2NjU4ZmExY2FiMmQwNThjZDUzNWRhZjUyOTMxYzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRh
bC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNl
c0V4cGVyaW1lbnRhbC55YW1sCkBAIC04ODEsNiArODgxLDE4IEBAIFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmdTZW5zaXRpdmVQcm9wZXJ0aWVzRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAg
ZGVmYXVsdDogZmFsc2UKIAorUGVybWlzc2lvbnNBUElFbmFibGVkOgorICB0eXBlOiBib29sCisg
IGh1bWFuUmVhZGFibGVOYW1lOiAiUGVybWlzc2lvbnMgQVBJIgorICBodW1hblJlYWRhYmxlRGVz
Y3JpcHRpb246ICJFbmFibGUgUGVybWlzc2lvbnMgQVBJIgorICBkZWZhdWx0VmFsdWU6CisgICAg
V2ViS2l0TGVnYWN5OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAgICBk
ZWZhdWx0OiBmYWxzZQorICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiBQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudERlYnVnTW9kZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgaHVt
YW5SZWFkYWJsZU5hbWU6ICJQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50IERlYnVnIE1vZGUiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IGJiYjg0MmE1MzlhMTA4N2M5ZTFkYjQ2M2QwMTlkZDJiMTIz
MTQyYzkuLjA3ZTVlMDU1OGY2ZGRkNDExZWM0Y2Y1OTZkZTM0M2Y0ODNjMDk3N2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC00OCw2ICs0OCw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfSU5DTFVE
RV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRl
bnR1dGlscyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9ub3RpZmljYXRpb25zIgogICAg
ICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0IgorICAgICIke1dFQkNPUkVf
RElSfS9Nb2R1bGVzL3Blcm1pc3Npb25zIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3Bp
Y3R1cmVpbnBpY3R1cmUiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGx1Z2lucyIKICAg
ICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9yZW1vdGVwbGF5YmFjayIKQEAgLTIwMSw2ICsyMDIs
NyBAQCBzZXQoV2ViQ29yZV9JRExfSU5DTFVERVMKICAgICBNb2R1bGVzL21vZGVsLWVsZW1lbnQK
ICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0Cisg
ICAgTW9kdWxlcy9wZXJtaXNzaW9ucwogICAgIE1vZHVsZXMvc3BlZWNoCiAgICAgTW9kdWxlcy9z
dHJlYW1zCiAgICAgTW9kdWxlcy93ZWJhdWRpbwpAQCAtNDYwLDYgKzQ2MiwxMyBAQCBzZXQoV2Vi
Q29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVu
dFNoaXBwaW5nVHlwZS5pZGwKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRWYWxp
ZGF0aW9uRXJyb3JzLmlkbAogCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVy
bWlzc2lvbnMuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRv
ci5pZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbAorICAgIE1v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbAorICAgIE1vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25zLmlkbAorCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50K1BpY3R1
cmVJblBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50T3JT
aGFkb3dSb290K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0
dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggMzliMmIzMDA0ZTRjNTc5NDM3ZTY1
YWNhOTczMjdjNzhkNGQ3NDVkZS4uNTExYjUxMzEyMDBhYmVjODNiZTQ5MDdhN2JlNDE5MjNhNjJm
MzY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVs
aXN0CkBAIC0zODgsNiArMzg4LDEyIEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5bWVudHJl
cXVlc3QvUGF5bWVudFJlc3BvbnNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wYXltZW50
cmVxdWVzdC9QYXltZW50U2hpcHBpbmdPcHRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ1R5cGUuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzLmlkbAorJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlk
bAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwK
KyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudCtQaWN0dXJlSW5QaWN0
dXJlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50
T3JTaGFkb3dSb290K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuaWRsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDE5Njcx
Zjc1MDZkNmE3OTM3NGM1ZWE0NWFjNzcxZmM3ZjFiNzk1MmIuLjliNDg0YWJhNDhjMmM1Y2ZjNjBh
Y2VlZWMyOTNlYmNhOWMzOTcxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xMzc3LDYgKzEzNzcsOCBAQCAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitNZWRpYURldmljZXMu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmln
YXRvcitNZWRpYURldmljZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFTZXNzaW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFTZXNzaW9uLmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1Bl
cm1pc3Npb25zLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOYXZpZ2F0b3IrUGVybWlzc2lvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViRHJpdmVyLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViRHJpdmVyLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9y
K1dlYlhSLmNwcApAQCAtMTU4Myw2ICsxNTg1LDE2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZUNv
bnN0cmFpbnRzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUGVyaW9kaWNXYXZlT3B0aW9ucy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlT3B0aW9ucy5oCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25EZXNjcmlwdG9yLmNwcAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9u
RGVzY3JpcHRvci5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1Blcm1pc3Npb25OYW1lLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uTmFtZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0ZS5jcHAKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvblN0YXRlLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvblN0YXR1
cy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVy
bWlzc2lvblN0YXR1cy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1Blcm1pc3Npb25zLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9ucy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BpY3R1cmVJblBpY3R1cmVXaW5k
b3cuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQbGF5
YmFja0RpcmVjdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGQ2NGU2
NWU4NmU1ZTExNDI2NjdhOWUzODI3NjgzYTk2OTJmMjdhZjEuLmY5ZWU2NDI4YmEwYTU0ZDU0YzAy
NTdhYTZkNmEwMDAxZTJlNDIxYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAt
MzI0LDYgKzMyNCwxMiBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdPcHRpb24uaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nVHlwZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVy
cm9ycy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3Ir
UGVybWlzc2lvbnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbk5hbWUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvblN0YXRlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0dXMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlu
cGljdHVyZS9Eb2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGljdHVyZUluUGlj
dHVyZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVy
UGljdHVyZUluUGljdHVyZUV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9I
ZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCBlYjA3Yjgw
Yzk5MzNkNjlhOGMzNjMxOTE4Yzc1ZGJlNGUzN2E5MmI4Li43NmNlMGM2NjFmZWU4MzBkMTc2ZTM2
MWY1Nzk4NzM1YzdhZTFlMGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNt
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTEyOSw2ICsxMjksMTIg
QEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIE1vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uLmgKICAgICBNb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgKIAorICAgIE1vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbkRlc2NyaXB0b3IuaAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bk5hbWUuaAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk9ic2VydmVyLmgKKyAg
ICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCisKICAgICBNb2R1bGVzL3Bs
dWdpbnMvUGx1Z2luUmVwbGFjZW1lbnQuaAogICAgIE1vZHVsZXMvcGx1Z2lucy9Zb3VUdWJlUGx1
Z2luUmVwbGFjZW1lbnQuaAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBi
MTI3ZTdmM2ExYzU2NjZjZDBkMGM4OGZlOTExZTk2YzgzNGY2NQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25z
LmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3Blcm1pc3Npb25zLyNuYXZpZ2F0b3ItYW5kLXdvcmtlcm5hdmlnYXRvci1leHRlbnNpb24K
KworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCisgICAgSW1wbGVtZW50
ZWRCeT1OYXZpZ2F0b3JQZXJtaXNzaW9ucworXSBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3Ig
eworICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgUGVybWlzc2lvbnMgcGVybWlz
c2lvbnM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTFmNTU1ODg2ZDhl
NzFhMzQ5ZWU3NWJmM2M0MTZmMDJmMWM0N2FiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKQEAgLTAs
MCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJO
YXZpZ2F0b3JQZXJtaXNzaW9ucy5oIgorCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVk
ZSAiUGVybWlzc2lvbnMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitOYXZpZ2F0b3JQZXJt
aXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMoTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCisgICAg
OiBtX25hdmlnYXRvcihuYXZpZ2F0b3IpCit7Cit9CisKK1JlZlB0cjxQZXJtaXNzaW9ucz4gTmF2
aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9yKQorewor
ICAgIHJldHVybiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6ZnJvbShuYXZpZ2F0b3IpLT5wZXJtaXNz
aW9ucygpOworfQorCitSZWZQdHI8UGVybWlzc2lvbnM+IE5hdmlnYXRvclBlcm1pc3Npb25zOjpw
ZXJtaXNzaW9ucygpCit7CisgICAgaWYgKCFtX3Blcm1pc3Npb25zKQorICAgICAgICBtX3Blcm1p
c3Npb25zID0gUGVybWlzc2lvbnM6OmNyZWF0ZShtX25hdmlnYXRvcik7CisKKyAgICByZXR1cm4g
bV9wZXJtaXNzaW9uczsKK30KKworTmF2aWdhdG9yUGVybWlzc2lvbnMqIE5hdmlnYXRvclBlcm1p
c3Npb25zOjpmcm9tKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIGF1dG8qIHN1cHBsZW1l
bnQgPSBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JQZXJtaXNzaW9ucyo+KFN1cHBsZW1lbnQ8TmF2aWdh
dG9yPjo6ZnJvbSgmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpKSk7CisgICAgaWYgKCFzdXBw
bGVtZW50KSB7CisgICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9IG1ha2VVbmlxdWU8TmF2aWdh
dG9yUGVybWlzc2lvbnM+KG5hdmlnYXRvcik7CisgICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBw
bGVtZW50LmdldCgpOworICAgICAgICBwcm92aWRlVG8oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5h
bWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CisgICAgfQorCisgICAgcmV0dXJuIHN1cHBs
ZW1lbnQ7Cit9CisKK2NvbnN0IGNoYXIqIE5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50
TmFtZSgpCit7CisgICAgcmV0dXJuICJOYXZpZ2F0b3JQZXJtaXNzaW9ucyI7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MGE3MzlkYTcx
NDQwYzdhMzNiMjMyY2FlOTgzNTIwMTlmZGE0NDRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oCkBAIC0w
LDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlN1cHBs
ZW1lbnRhYmxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yOwor
Y2xhc3MgUGVybWlzc2lvbnM7CisKK2NsYXNzIE5hdmlnYXRvclBlcm1pc3Npb25zIGZpbmFsIDog
cHVibGljIFN1cHBsZW1lbnQ8TmF2aWdhdG9yPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CisgICAgZXhwbGljaXQgTmF2aWdhdG9yUGVybWlzc2lvbnMoTmF2aWdhdG9y
Jik7CisKKyAgICBzdGF0aWMgUmVmUHRyPFBlcm1pc3Npb25zPiBwZXJtaXNzaW9ucyhOYXZpZ2F0
b3ImKTsKKyAgICBSZWZQdHI8UGVybWlzc2lvbnM+IHBlcm1pc3Npb25zKCk7CisKK3ByaXZhdGU6
CisgICAgc3RhdGljIE5hdmlnYXRvclBlcm1pc3Npb25zKiBmcm9tKE5hdmlnYXRvciYpOworICAg
IHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOworCisgICAgUmVmUHRyPFBlcm1p
c3Npb25zPiBtX3Blcm1pc3Npb25zOworICAgIE5hdmlnYXRvciYgbV9uYXZpZ2F0b3I7Cit9Owor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25Db250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE3OWRmNDM5YTBmYzE5ZTYyZDczMWU0
YTYwMzI4MDUzMzQ3NjA4MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaApAQCAtMCwwICsxLDU0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJtaXNzaW9uT2JzZXJ2ZXIu
aCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdGUuaCIKKyNpbmNsdWRlIDx3dGYvQ29tcGxldGlv
bkhhbmRsZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQZXJtaXNzaW9uT2Jz
ZXJ2ZXI7CitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7CisKK2NsYXNzIFBlcm1pc3Npb25D
b250cm9sbGVyIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFBlcm1pc3Npb25Db250cm9sbGVyPiB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UGVy
bWlzc2lvbkNvbnRyb2xsZXIoKSA9IGRlZmF1bHQ7CisgICAgdmlydHVhbCBQZXJtaXNzaW9uU3Rh
dGUgcXVlcnkoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlwdG9yJiYpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgcmVxdWVzdChDbGllbnRPcmlnaW4mJiwgUGVybWlzc2lvbkRlc2NyaXB0
b3ImJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChQZXJtaXNzaW9uU3RhdGUpPiYmKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIGFkZE9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgcmVtb3ZlT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgPSAwOwor
fTsKKworY2xhc3MgRHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlciBmaW5hbCA6IHB1YmxpYyBQZXJt
aXNzaW9uQ29udHJvbGxlciB7CisgICAgUGVybWlzc2lvblN0YXRlIHF1ZXJ5KENsaWVudE9yaWdp
biYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmKSBmaW5hbCB7IHJldHVybiBQZXJtaXNzaW9uU3Rh
dGU6OkRlbmllZDsgfQorICAgIHZvaWQgcmVxdWVzdChDbGllbnRPcmlnaW4mJiwgUGVybWlzc2lv
bkRlc2NyaXB0b3ImJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChQZXJtaXNzaW9uU3RhdGUpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKSBmaW5hbCB7IGNvbXBsZXRpb25IYW5kbGVyKFBlcm1pc3Npb25T
dGF0ZTo6RGVuaWVkKTsgfQorICAgIHZvaWQgYWRkT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVy
JikgZmluYWwgeyB9CisgICAgdm9pZCByZW1vdmVPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXIm
KSBmaW5hbCB7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3Iu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40ZTg0YjJkNGM3N2E5OGU5NWI2NjQ5OGRjNGQwYjM4YTkwODllMWU1Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uRGVzY3JpcHRvci5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2luY2x1ZGUgIlBlcm1pc3Npb25OYW1lLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworc3RydWN0IFBlcm1pc3Npb25EZXNjcmlwdG9yIHsKKyAgICBQZXJtaXNzaW9uTmFtZSBu
YW1lOworCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFBlcm1pc3Npb25EZXNjcmlwdG9yJiBk
ZXNjcmlwdG9yKSBjb25zdCB7IHJldHVybiBuYW1lID09IGRlc2NyaXB0b3IubmFtZTsgfQorICAg
IHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAg
ICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxQZXJtaXNzaW9u
RGVzY3JpcHRvcj4gZGVjb2RlKERlY29kZXImKTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+IGlubGluZSB2b2lkIFBlcm1pc3Npb25EZXNjcmlwdG9yOjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IG5hbWU7Cit9CisKK3RlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0ZDo6b3B0aW9uYWw8UGVybWlzc2lvbkRlc2NyaXB0b3I+IFBlcm1pc3Npb25E
ZXNjcmlwdG9yOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBQZXJtaXNzaW9uRGVz
Y3JpcHRvciByZXN1bHQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubmFtZSkpCisg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRm
MzZhMzJhMmNjY2QzMzk5MzliN2RlODM1ZGZlZGJiZjRmNTdjYzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9y
LmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3Blcm1pc3Npb25zLyNkaWN0ZGVmLXBlcm1pc3Npb25kZXNjcmlwdG9yCisKK1sKKyAgICBF
bmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBkaWN0aW9uYXJ5IFBlcm1pc3Npb25E
ZXNjcmlwdG9yIHsKKyAgICByZXF1aXJlZCBQZXJtaXNzaW9uTmFtZSBuYW1lOworfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41Yzk5MzFmZDg0MzhkMzQzMDE2ZjExZDJlZTRjNTczOTNkYWQ4ZTEwCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uTmFtZS5oCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIFBlcm1pc3Npb25OYW1lIDogdWludDhf
dCB7CisgICAgQWNjZWxlcm9tZXRlciwKKyAgICBBbWJpZW50TGlnaHRTZW5zb3IsCisgICAgQmFj
a2dyb3VuZEZldGNoLAorICAgIEJhY2tncm91bmRTeW5jLAorICAgIEJsdWV0b290aCwKKyAgICBD
YW1lcmEsCisgICAgRGlzcGxheUNhcHR1cmUsCisgICAgR2VvbG9jYXRpb24sCisgICAgR3lyb3Nj
b3BlLAorICAgIE1hZ25ldG9tZXRlciwKKyAgICBNaWNyb3Bob25lLAorICAgIE1pZGksCisgICAg
TmZjLAorICAgIE5vdGlmaWNhdGlvbnMsCisgICAgUGVyc2lzdGVudFN0b3JhZ2UsCisgICAgUHVz
aCwKKyAgICBTY3JlZW5XYWtlTG9jaywKKyAgICBTcGVha2VyU2VsZWN0aW9uCit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVj
dCBFbnVtVHJhaXRzPFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lPiB7CisgICAgdXNpbmcgdmFsdWVz
ID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWUsCisgICAgICAg
IFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpBY2NlbGVyb21ldGVyLAorICAgICAgICBXZWJDb3Jl
OjpQZXJtaXNzaW9uTmFtZTo6QW1iaWVudExpZ2h0U2Vuc29yLAorICAgICAgICBXZWJDb3JlOjpQ
ZXJtaXNzaW9uTmFtZTo6QmFja2dyb3VuZEZldGNoLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNz
aW9uTmFtZTo6QmFja2dyb3VuZFN5bmMsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1l
OjpCbHVldG9vdGgsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpDYW1lcmEsCisg
ICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpEaXNwbGF5Q2FwdHVyZSwKKyAgICAgICAg
V2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Okdlb2xvY2F0aW9uLAorICAgICAgICBXZWJDb3JlOjpQ
ZXJtaXNzaW9uTmFtZTo6R3lyb3Njb3BlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFt
ZTo6TWFnbmV0b21ldGVyLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6TWljcm9w
aG9uZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok1pZGksCisgICAgICAgIFdl
YkNvcmU6OlBlcm1pc3Npb25OYW1lOjpOZmMsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25O
YW1lOjpOb3RpZmljYXRpb25zLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6UGVy
c2lzdGVudFN0b3JhZ2UsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpQdXNoLAor
ICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6U2NyZWVuV2FrZUxvY2ssCisgICAgICAg
IFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpTcGVha2VyU2VsZWN0aW9uCisgICAgPjsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kM2FjZGYyOGM2NDIxMTBl
YjYxMGZlOWU5ODdiNmJlNjdkZGRhNjIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwKQEAgLTAsMCArMSw0OSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jZW51
bWRlZi1wZXJtaXNzaW9ubmFtZQorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9u
c0FQSSwKK10gZW51bSBQZXJtaXNzaW9uTmFtZSB7CisgICAgImFjY2VsZXJvbWV0ZXIiLAorICAg
ICJhbWJpZW50LWxpZ2h0LXNlbnNvciIsCisgICAgImJhY2tncm91bmQtZmV0Y2giLAorICAgICJi
YWNrZ3JvdW5kLXN5bmMiLAorICAgICJibHVldG9vdGgiLAorICAgICJjYW1lcmEiLAorICAgICJk
aXNwbGF5LWNhcHR1cmUiLAorICAgICJnZW9sb2NhdGlvbiIsCisgICAgImd5cm9zY29wZSIsCisg
ICAgIm1hZ25ldG9tZXRlciIsCisgICAgIm1pY3JvcGhvbmUiLAorICAgICJtaWRpIiwKKyAgICAi
bmZjIiwKKyAgICAibm90aWZpY2F0aW9ucyIsCisgICAgInBlcnNpc3RlbnQtc3RvcmFnZSIsCisg
ICAgInB1c2giLAorICAgICJzY3JlZW4td2FrZS1sb2NrIiwKKyAgICAic3BlYWtlci1zZWxlY3Rp
b24iCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbk9ic2VydmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzU2NmQ3MzI3MmUzZmMyYWU5OTM5ZTEz
N2UyNDM4OGY2MGI3MjIxNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk9ic2VydmVyLmgKQEAgLTAsMCArMSw0NCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCisjaW5j
bHVkZSAiUGVybWlzc2lvblN0YXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0
IFBlcm1pc3Npb25EZXNjcmlwdG9yOworCitjbGFzcyBQZXJtaXNzaW9uT2JzZXJ2ZXIgOiBwdWJs
aWMgQ2FuTWFrZVdlYWtQdHI8UGVybWlzc2lvbk9ic2VydmVyPiB7CitwdWJsaWM6CisgICAgdmly
dHVhbCB+UGVybWlzc2lvbk9ic2VydmVyKCkgPSBkZWZhdWx0OworCisgICAgdmlydHVhbCB2b2lk
IHN0YXRlQ2hhbmdlZChQZXJtaXNzaW9uU3RhdGUpID0gMDsKKyAgICB2aXJ0dWFsIGNvbnN0IENs
aWVudE9yaWdpbiYgb3JpZ2luKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgY29uc3QgUGVybWlz
c2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IoKSBjb25zdCA9IDA7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uU3RhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lY2FkZjUyMDFlMGMzN2IzMGY0YjcyZWEw
ODA0MDg1ODRiODg4NDg0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaApAQCAtMCwwICsxLDUxIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvRW51bVRyYWl0cy5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgUGVybWlzc2lvblN0YXRlIDogdWludDhfdCB7
CisgICAgR3JhbnRlZCwKKyAgICBEZW5pZWQsCisgICAgUHJvbXB0Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVt
VHJhaXRzPFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVu
dW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSwKKyAgICAgICAgV2Vi
Q29yZTo6UGVybWlzc2lvblN0YXRlOjpHcmFudGVkLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNz
aW9uU3RhdGU6OkRlbmllZCwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpQcm9t
cHQKKyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzU3Nzk3ODEyZDE5ODY5ZWYzZTUxYTJkYjllYThhN2FmMTY4YWM5YgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRl
LmlkbApAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3Blcm1pc3Npb25zLyNlbnVtZGVmLXBlcm1pc3Npb25zdGF0ZQorCitbCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKK10gZW51bSBQZXJtaXNzaW9uU3RhdGUgeworICAg
ICJncmFudGVkIiwKKyAgICAiZGVuaWVkIiwKKyAgICAicHJvbXB0IgorfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjE4M2IzNDE2OWMzZTQ4ZWVkZTY0NDdmODZkODY5ODcyMTgzYzAzZDkKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25TdGF0dXMuY3BwCkBAIC0wLDAgKzEsODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXR1cy5oIgorCisjaW5jbHVkZSAiQ2xp
ZW50T3JpZ2luLmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIlBhZ2UuaCIK
KyNpbmNsdWRlICJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxs
b2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9D
QVRFRF9JTVBMKFBlcm1pc3Npb25TdGF0dXMpOworCitSZWY8UGVybWlzc2lvblN0YXR1cz4gUGVy
bWlzc2lvblN0YXR1czo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFBl
cm1pc3Npb25TdGF0ZSBzdGF0ZSwgUGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikKK3sK
KyAgICBhdXRvIHN0YXR1cyA9IGFkb3B0UmVmKCpuZXcgUGVybWlzc2lvblN0YXR1cyhjb250ZXh0
LCBzdGF0ZSwgZGVzY3JpcHRvcikpOworICAgIHN0YXR1cy0+c3VzcGVuZElmTmVlZGVkKCk7Cisg
ICAgcmV0dXJuIHN0YXR1czsKK30KKworUGVybWlzc2lvblN0YXR1czo6UGVybWlzc2lvblN0YXR1
cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBQZXJtaXNzaW9uU3RhdGUgc3RhdGUs
IFBlcm1pc3Npb25EZXNjcmlwdG9yIGRlc2NyaXB0b3IpCisgICAgOiBBY3RpdmVET01PYmplY3Qo
JmNvbnRleHQpCisgICAgLCBtX3N0YXRlKHN0YXRlKQorICAgICwgbV9kZXNjcmlwdG9yKGRlc2Ny
aXB0b3IpCit7CisgICAgaWYgKGlzPERvY3VtZW50Pihjb250ZXh0KSkgeworICAgICAgICBpZiAo
YXV0byBwYWdlID0gZG93bmNhc3Q8RG9jdW1lbnQ+KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkp
LnBhZ2UoKSkgeworICAgICAgICAgICAgbV9jb250cm9sbGVyID0gbWFrZVdlYWtQdHIocGFnZS0+
cGVybWlzc2lvbkNvbnRyb2xsZXIoKSk7CisgICAgICAgICAgICBtX2NvbnRyb2xsZXItPmFkZE9i
c2VydmVyKCp0aGlzKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGF1dG8qIG9yaWdpbiA9IGNv
bnRleHQuc2VjdXJpdHlPcmlnaW4oKTsKKyAgICBhdXRvIG9yaWdpbkRhdGEgPSBvcmlnaW4gPyBv
cmlnaW4tPmRhdGEoKSA6IFNlY3VyaXR5T3JpZ2luRGF0YSB7IH07CisgICAgbV9vcmlnaW4gPSBD
bGllbnRPcmlnaW4geyBjb250ZXh0LnRvcE9yaWdpbigpLmRhdGEoKSwgb3JpZ2luRGF0YSB9Owor
fQorCitQZXJtaXNzaW9uU3RhdHVzOjp+UGVybWlzc2lvblN0YXR1cygpCit7CisgICAgaWYgKG1f
Y29udHJvbGxlcikKKyAgICAgICAgbV9jb250cm9sbGVyLT5yZW1vdmVPYnNlcnZlcigqdGhpcyk7
Cit9CisKK3ZvaWQgUGVybWlzc2lvblN0YXR1czo6c3RhdGVDaGFuZ2VkKFBlcm1pc3Npb25TdGF0
ZSBuZXdTdGF0ZSkKK3sKKyAgICBpZiAobV9zdGF0ZSAhPSBuZXdTdGF0ZSkKKyAgICAgICAgcXVl
dWVUYXNrVG9EaXNwYXRjaEV2ZW50KCp0aGlzLCBUYXNrU291cmNlOjpQZXJtaXNzaW9uLCBFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8s
IEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7Cit9CisKK2NvbnN0IGNoYXIqIFBlcm1pc3Npb25T
dGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAoreworICAgIHJldHVybiAiUGVybWlz
c2lvblN0YXR1cyI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTcxZTdhNDIxY2VhZTMyN2I1OWMxODU0OGE3ZGE3MTQzNjVkMTNlYgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5oCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5j
bHVkZSAiUGVybWlzc2lvbkRlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uTmFtZS5o
IgorI2luY2x1ZGUgIlBlcm1pc3Npb25PYnNlcnZlci5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25T
dGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBlcm1pc3Npb25Db250cm9s
bGVyOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3MgUGVybWlzc2lvblN0
YXR1cyBmaW5hbCA6IHB1YmxpYyBQZXJtaXNzaW9uT2JzZXJ2ZXIsIHB1YmxpYyBBY3RpdmVET01P
YmplY3QsIHB1YmxpYyBSZWZDb3VudGVkPFBlcm1pc3Npb25TdGF0dXM+LCBwdWJsaWMgRXZlbnRU
YXJnZXRXaXRoSW5saW5lRGF0YSAgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUGVybWlz
c2lvblN0YXR1cyk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJtaXNzaW9uU3RhdHVzPiBj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFBlcm1pc3Npb25TdGF0ZSwgUGVybWlzc2lv
bkRlc2NyaXB0b3IpOworICAgIH5QZXJtaXNzaW9uU3RhdHVzKCk7CisKKyAgICBQZXJtaXNzaW9u
U3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CisgICAgUGVybWlzc2lvbk5h
bWUgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVzY3JpcHRvci5uYW1lOyB9CisKKyAgICB1c2lu
ZyBSZWZDb3VudGVkOjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDo6ZGVyZWY7CisKKyAgICB1
c2luZyBQZXJtaXNzaW9uT2JzZXJ2ZXI6OndlYWtQdHJGYWN0b3J5OworICAgIHVzaW5nIFdlYWtW
YWx1ZVR5cGUgPSBQZXJtaXNzaW9uT2JzZXJ2ZXI6OldlYWtWYWx1ZVR5cGU7CisKK3ByaXZhdGU6
CisgICAgUGVybWlzc2lvblN0YXR1cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUGVybWlzc2lv
blN0YXRlLCBQZXJtaXNzaW9uRGVzY3JpcHRvcik7CisKKyAgICAvLyBQZXJtaXNzaW9uT2JzZXJ2
ZXIKKyAgICB2b2lkIHN0YXRlQ2hhbmdlZChQZXJtaXNzaW9uU3RhdGUpIGZpbmFsOworICAgIGNv
bnN0IENsaWVudE9yaWdpbiYgb3JpZ2luKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9vcmlnaW47
IH0KKyAgICBjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIG1fZGVzY3JpcHRvcjsgfQorCisgICAgLy8gQWN0aXZlRE9NT2JqZWN0Cisg
ICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOworCisgICAg
Ly8gRXZlbnRUYXJnZXQKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCk7IH0KKyAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdl
dEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFBlcm1pc3Npb25TdGF0dXNFdmVudFRh
cmdldEludGVyZmFjZVR5cGU7IH0KKyAgICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBy
ZWYoKTsgfQorICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQor
CisgICAgUGVybWlzc2lvblN0YXRlIG1fc3RhdGU7CisgICAgUGVybWlzc2lvbkRlc2NyaXB0b3Ig
bV9kZXNjcmlwdG9yOworICAgIENsaWVudE9yaWdpbiBtX29yaWdpbjsKKyAgICBXZWFrUHRyPFBl
cm1pc3Npb25Db250cm9sbGVyPiBtX2NvbnRyb2xsZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25TdGF0dXMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uU3RhdHVzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjc4MTQyZTY5OWUyMGU2YmU4NmNjNWNl
MjA1NmQxZGViNjkyZWQwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbApAQCAtMCwwICsxLDM2IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKyAKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jcGVybWlzc2lv
bnN0YXR1cworCitbCisgICAgQWN0aXZlRE9NT2JqZWN0LAorICAgIEVuYWJsZWRCeVNldHRpbmc9
UGVybWlzc2lvbnNBUEksCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKK10gaW50ZXJmYWNl
IFBlcm1pc3Npb25TdGF0dXMgOiBFdmVudFRhcmdldCB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFBlcm1pc3Npb25TdGF0ZSBzdGF0ZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgUGVybWlzc2lv
bk5hbWUgbmFtZTsKKyAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uY2hhbmdlOworfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYWRkYjZiZjUyZTA2ZDUyM2NhYjM0ZTlkMTdkZDE4NGU2MWUzZjg2MwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvbnMuY3BwCkBAIC0wLDAgKzEsOTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbnMuaCIKKworI2luY2x1ZGUgIkV4Y2VwdGlvbi5oIgor
I2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNp
bmNsdWRlICJKU1Blcm1pc3Npb25EZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiSlNQZXJtaXNzaW9u
U3RhdHVzLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2lu
Y2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkRlc2Ny
aXB0b3IuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChQZXJtaXNzaW9ucyk7CisK
K1JlZjxQZXJtaXNzaW9ucz4gUGVybWlzc2lvbnM6OmNyZWF0ZShOYXZpZ2F0b3ImIG5hdmlnYXRv
cikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJtaXNzaW9ucyhuYXZpZ2F0b3IpKTsK
K30KKworUGVybWlzc2lvbnM6OlBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9yKQorICAg
IDogbV9uYXZpZ2F0b3IobWFrZVdlYWtQdHIobmF2aWdhdG9yKSkKK3sKK30KKworTmF2aWdhdG9y
KiBQZXJtaXNzaW9uczo6bmF2aWdhdG9yKCkKK3sKKyAgICByZXR1cm4gbV9uYXZpZ2F0b3IuZ2V0
KCk7Cit9CisKK3ZvaWQgUGVybWlzc2lvbnM6OnF1ZXJ5KEpTQzo6U3Ryb25nPEpTQzo6SlNPYmpl
Y3Q+IHBlcm1pc3Npb25EZXNjcmlwdG9yVmFsdWUsIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRl
cmZhY2U8UGVybWlzc2lvblN0YXR1cz4+JiYgcHJvbWlzZSkKK3sKKyAgICBhdXRvIGNvbnRleHQg
PSBtX25hdmlnYXRvciA/IG1fbmF2aWdhdG9yLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgOiBu
dWxscHRyOworICAgIGlmICghY29udGV4dCB8fCAhY29udGV4dC0+Z2xvYmFsT2JqZWN0KCkpIHsK
KyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBKU0M6OlZNJiB2bSA9IGNvbnRleHQtPmds
b2JhbE9iamVjdCgpLT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BF
KHZtKTsKKyAgICBpZiAoIXBlcm1pc3Npb25EZXNjcmlwdG9yVmFsdWUpIHsKKyAgICAgICAgcHJv
bWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgRGF0YUVycm9yLCAiVGhlIHBhcmFtZXRlciBpcyBpbnZh
bGlkIl9zIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byBwYXJhbWV0ZXJE
ZXNjcmlwdG9yID0gY29udmVydDxJRExEaWN0aW9uYXJ5PFBlcm1pc3Npb25EZXNjcmlwdG9yPj4o
KmNvbnRleHQtPmdsb2JhbE9iamVjdCgpLCBwZXJtaXNzaW9uRGVzY3JpcHRvclZhbHVlLmdldCgp
KTsKKyAgICBpZiAoVU5MSUtFTFkoc2NvcGUuZXhjZXB0aW9uKCkpKSB7CisgICAgICAgIHByb21p
c2UucmVqZWN0KEV4Y2VwdGlvbiB7IEV4aXN0aW5nRXhjZXB0aW9uRXJyb3IgfSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvKiBmcmFtZSA9IG1fbmF2aWdhdG9yLT5mcmFtZSgp
OworICAgIGF1dG8qIGRvY3VtZW50ID0gZnJhbWU/IGZyYW1lLT5kb2N1bWVudCgpIDogbnVsbHB0
cjsKKyAgICBhdXRvKiBwYWdlID0gZnJhbWU/IGZyYW1lLT5wYWdlKCkgOiBudWxscHRyOworICAg
IGlmICghZnJhbWUgfHwgIWRvY3VtZW50IHx8ICFwYWdlKSB7CisgICAgICAgIHByb21pc2UucmVq
ZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH0pOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgYXV0byBwZXJtaXNzaW9uU3RhdGUgPSBwYWdlLT5wZXJtaXNzaW9uQ29udHJv
bGxlcigpLnF1ZXJ5KENsaWVudE9yaWdpbiB7IGRvY3VtZW50LT50b3BPcmlnaW4oKS5kYXRhKCks
IGRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSB9LCBQZXJtaXNzaW9uRGVzY3JpcHRv
ciB7IHBhcmFtZXRlckRlc2NyaXB0b3IgfSk7CisgICAgcHJvbWlzZS5yZXNvbHZlKFBlcm1pc3Np
b25TdGF0dXM6OmNyZWF0ZSgqY29udGV4dCwgcGVybWlzc2lvblN0YXRlLCBwYXJhbWV0ZXJEZXNj
cmlwdG9yKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MmU4OTU3
YWYxMThjYzY2NGRkYjZjNGI1NzRkNmQyNGM3NWM0ZmEwCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oCkBAIC0wLDAgKzEs
NTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIklETFR5cGVzLmgi
CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nLmg+CisjaW5jbHVkZSA8d3RmL0lzb01h
bGxvYy5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFjZSBKU0MgeworY2xh
c3MgSlNPYmplY3Q7Cit9IC8vIG5hbWVzcGFjZSBKU0MKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBOYXZpZ2F0b3I7CitjbGFzcyBQZXJtaXNzaW9uU3RhdHVzOworCit0ZW1wbGF0ZTx0
eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKK2NsYXNzIFBlcm1p
c3Npb25zIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8UGVybWlzc2lvbnM+IHsKKyAgICBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEKFBlcm1pc3Npb25zKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVm
PFBlcm1pc3Npb25zPiBjcmVhdGUoTmF2aWdhdG9yJik7CisKKyAgICBOYXZpZ2F0b3IqIG5hdmln
YXRvcigpOworICAgIHZvaWQgcXVlcnkoSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4sIERPTVBy
b21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8UGVybWlzc2lvblN0YXR1cz4+JiYpOworCitwcml2
YXRlOgorICAgIGV4cGxpY2l0IFBlcm1pc3Npb25zKE5hdmlnYXRvciYpOworCisgICAgV2Vha1B0
cjxOYXZpZ2F0b3I+IG1fbmF2aWdhdG9yOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jNjhhYTYxMmE1MDdiMzgwNTQwYTY3MGJlNjQ1YWI2NmVmNDM4MWRkCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9ucy5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNj
LmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jcGVybWlzc2lvbnMtaW50ZXJmYWNlCisKK1sKKyAgICBF
bmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9
UmVhY2hhYmxlRnJvbU5hdmlnYXRvciwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAor
ICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpCitdIGludGVyZmFjZSBQZXJtaXNzaW9ucyB7Cisg
ICAgUHJvbWlzZTxQZXJtaXNzaW9uU3RhdHVzPiBxdWVyeShvYmplY3QgcGVybWlzc2lvbkRlc2Mp
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKaW5kZXggNmQ1OWRjM2ZkODc4NGFjMzU3NjBhZGRmNWQ5MjA1OGQy
NTg0ZDA3Yi4uODkxMDU0OTczMTlhNmIwNGUxOGZlNTJlNDUxZWQ0ZWU5YTRmMTUyNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKQEAgLTIwMyw2ICsyMDMsOSBAQCBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1l
bnRSZXF1ZXN0LmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0
ZUV2ZW50LmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFV0aWxpdGll
cy5jcHAKIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmNwcAorTW9kdWxl
cy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKK01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvblN0YXR1cy5jcHAKK01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMu
Y3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRQaWN0dXJlSW5QaWN0dXJlLmNw
cAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmNw
cAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0hUTUxWaWRlb0VsZW1lbnRQaWN0dXJlSW5QaWN0
dXJlLmNwcApAQCAtMzI3Miw2ICszMjc1LDExIEBAIEpTUGVyZm9ybWFuY2VUaW1pbmcuY3BwCiBK
U1BlcmlvZGljV2F2ZS5jcHAKIEpTUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuY3BwCiBKU1Blcmlv
ZGljV2F2ZU9wdGlvbnMuY3BwCitKU1Blcm1pc3Npb25EZXNjcmlwdG9yLmNwcAorSlNQZXJtaXNz
aW9uTmFtZS5jcHAKK0pTUGVybWlzc2lvblN0YXRlLmNwcAorSlNQZXJtaXNzaW9uU3RhdHVzLmNw
cAorSlNQZXJtaXNzaW9ucy5jcHAKIEpTUGljdHVyZUluUGljdHVyZVdpbmRvdy5jcHAKIEpTUGxh
eWJhY2tEaXJlY3Rpb24uY3BwCiBKU1BvaW50ZXJFdmVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkMGFhMGU4ZDJiOWI5
MTA3M2I5ODNhNjhjZjU5ZjdlNjZhMmE1Mzc1Li4zNmFkZWVkNDlkMTBmODdhNjE4MWQ4MzI4M2Vi
ODc2NDg0OGFkZGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0yODgwLDYgKzI4ODAsMTQgQEAKIAkJOTNBODA2MTcxRTAzQjUx
QzAwOEExRjI2IC8qIExvbmdSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTNBODA2MTMxRTAzQjUxQzAwOEExRjI2IC8qIExvbmdSYW5nZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzQTgwNjFF
MUUwM0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4MDYxQTFFMDNCNTg1MDA4QTFGMjYgLyogSlNE
b3VibGVSYW5nZS5oICovOyB9OwogCQk5M0E4MDYyMDFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25n
UmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
QTgwNjFDMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5oICovOyB9OworCQk5M0IwQTY1
MzI2Q0REMTQxMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjRBMjZDREQxM0UwMEFBMjFF
NCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oICovOyB9OworCQk5M0IwQTY1NDI2Q0REMTQxMDBB
QTIxRTQgLyogUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzQjBBNjRCMjZDREQxM0UwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oICov
OyB9OworCQk5M0IwQTY1NjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NEQyNkNE
RDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCAqLzsgfTsKKwkJOTNCMEE2NTcyNkNE
RDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY0RTI2Q0REMTNGMDBBQTIxRTQgLyog
UGVybWlzc2lvbkRlc2NyaXB0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQk5M0IwQTY1OTI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbk5h
bWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBB
NjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjVCMjZDREQxNDEwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzQjBBNjUyMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5M0Iw
QTY3MDI2RDRCNTM5MDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjY5MjZENDRCN0YwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjdBMjZENkE0RTkwMEFBMjFFNCAvKiBQZXJt
aXNzaW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzQjBBNjZGMjZENEI1MjkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0IyRDgx
NjBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjJEODE1MEY5OTIwRDIwMDZBRTZCMiAv
KiBTdWRkZW5UZXJtaW5hdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTkzQjM4RUMzMjU4MjFEQjQwMDE5OEU2MyAvKiBXZWJTcGVlY2hSZWNv
Z25pemVyVGFzay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTNCMzhFQkEyNTgyMTkzQjAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrLmgg
Ki87IH07CiAJCTkzQjM4RUM0MjU4MjFEQjcwMDE5OEU2MyAvKiBXZWJTcGVlY2hSZWNvZ25pemVy
VGFza01vY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzQjM4RUJCMjU4MjE5M0QwMDE5OEU2MyAvKiBXZWJTcGVlY2hSZWNvZ25pemVyVGFza01vY2su
aCAqLzsgfTsKQEAgLTExNzAxLDYgKzExNzA5LDIzIEBACiAJCTkzQTgwNjFBMUUwM0I1ODUwMDhB
MUYyNiAvKiBKU0RvdWJsZVJhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTRG91YmxlUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNBODA2MUIx
RTAzQjU4NTAwOEExRjI2IC8qIEpTTG9uZ1JhbmdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTTG9uZ1JhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOTNBODA2MUMxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9uZ1JhbmdlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTG9uZ1JhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTkzQjBBNjQ0MjZDREM1QjYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0ZS5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ1MjZDREM1QjYwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uRGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvbkRlc2Ny
aXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0NjI2Q0RDNUI3
MDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBl
cm1pc3Npb25OYW1lLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDcy
NkNEQzVCNzAwQUEyMUU0IC8qIE5hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gIk5hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwiOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk5M0IwQTY0ODI2Q0RDNUI3MDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcm1pc3Npb25zLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDkyNkNEQzVCODAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0
dXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0dXMuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0QTI2Q0REMTNFMDBBQTIxRTQgLyogTmF2
aWdhdG9yUGVybWlzc2lvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2
aWdhdG9yUGVybWlzc2lvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2
NEIyNkNERDEzRTAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBlcm1pc3Npb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTkzQjBBNjRDMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjREMjZDREQxM0YwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFBlcm1pc3Npb25TdGF0dXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2
NEUyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25EZXNjcmlwdG9yLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRGMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
U3RhdHVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcm1pc3Np
b25TdGF0dXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MDI2Q0RE
MTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGVybWlzc2lvbk5hbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTNCMEE2NTEyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcm1pc3Npb25zLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NTIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uU3RhdGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NjkyNkQ0NEI3RjAwQUEyMUU0IC8q
IFBlcm1pc3Npb25Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25Db250cm9s
bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjZGMjZENEI1MjkwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbk9i
c2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjJEODE1MEY5OTIwRDIw
MDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTdWRkZW5UZXJtaW5hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5M0IyRDgxNzBGOTkyMEVFMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24ubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTdWRkZW5UZXJtaW5hdGlvbi5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMzhFQjgyNTgyMTg5OTAwMTk4RTYzIC8q
IFNwZWVjaFJlY29nbml6ZXJDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFNwZWVjaFJlY29nbml6ZXJDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTIzMTg1LDYgKzIzMjEwLDMwIEBACiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJOTNCMEE2NDIyNkNEQzU3NDAwQUEyMUU0IC8qIHBl
cm1pc3Npb25zICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJ
CQk5M0IwQTY0NzI2Q0RDNUI3MDBBQTIxRTQgLyogTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbCAq
LywKKwkJCQk5M0IwQTY0QzI2Q0REMTNFMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMu
Y3BwICovLAorCQkJCTkzQjBBNjRBMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNz
aW9ucy5oICovLAorCQkJCTkzQjBBNjY5MjZENDRCN0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uQ29u
dHJvbGxlci5oICovLAorCQkJCTkzQjBBNjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
RGVzY3JpcHRvci5oICovLAorCQkJCTkzQjBBNjQ1MjZDREM1QjYwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uRGVzY3JpcHRvci5pZGwgKi8sCisJCQkJOTNCMEE2NTAyNkNERDE0MDAwQUEyMUU0IC8qIFBl
cm1pc3Npb25OYW1lLmggKi8sCisJCQkJOTNCMEE2NDYyNkNEQzVCNzAwQUEyMUU0IC8qIFBlcm1p
c3Npb25OYW1lLmlkbCAqLywKKwkJCQk5M0IwQTY2RjI2RDRCNTI5MDBBQTIxRTQgLyogUGVybWlz
c2lvbk9ic2VydmVyLmggKi8sCisJCQkJOTNCMEE2NTEyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1p
c3Npb25zLmNwcCAqLywKKwkJCQk5M0IwQTY0QjI2Q0REMTNFMDBBQTIxRTQgLyogUGVybWlzc2lv
bnMuaCAqLywKKwkJCQk5M0IwQTY0ODI2Q0RDNUI3MDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaWRs
ICovLAorCQkJCTkzQjBBNjUyMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCAq
LywKKwkJCQk5M0IwQTY0NDI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmlkbCAq
LywKKwkJCQk5M0IwQTY0RjI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5jcHAg
Ki8sCisJCQkJOTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCAq
LywKKwkJCQk5M0IwQTY0OTI2Q0RDNUI4MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5pZGwg
Ki8sCisJCQkpOworCQkJcGF0aCA9IHBlcm1pc3Npb25zOworCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKKwkJfTsKIAkJOTNCMzhFQjYyNTgyMTgzMzAwMTk4RTYzIC8qIGNvY29hICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTIzNzkwLDYgKzIzODM5LDcg
QEAKIAkJCQk3MUQ2QUEzOTFEQTRFQUY3MDBCMjM5NjkgLyogbW9kZXJuLW1lZGlhLWNvbnRyb2xz
ICovLAogCQkJCTMzM0Y3MDNEMEZCNDlDMTYwMDhFMTJBNiAvKiBub3RpZmljYXRpb25zICovLAog
CQkJCUExRjc2QjBFMUY0NEMwQ0YwMDE0QzMxOCAvKiBwYXltZW50cmVxdWVzdCAqLywKKwkJCQk5
M0IwQTY0MjI2Q0RDNTc0MDBBQTIxRTQgLyogcGVybWlzc2lvbnMgKi8sCiAJCQkJMURFRjA2QTIy
MzNDMzJEQjAwRUUyMjhEIC8qIHBpY3R1cmVpbnBpY3R1cmUgKi8sCiAJCQkJMDcyQUUxREUxODND
MDUxMzAwMEE1OTg4IC8qIHBsdWdpbnMgKi8sCiAJCQkJQ0RDMzEyRTAyMkZDRDBCMDAwMTIwNEVD
IC8qIHJlbW90ZXBsYXliYWNrICovLApAQCAtMzM3NTcsNiArMzM4MDcsNyBAQAogCQkJCTZCNTA3
QTI0MjM0QkYzNDEwMEJFN0M2MiAvKiBOYXZpZ2F0b3JJc0xvZ2dlZEluLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1RUE3MjVENjFBQ0FCRDU3MDBFQUQxN0IgLyogTmF2aWdhdG9yTWVkaWFEZXZpY2Vz
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzdCQTU3MjI2MEZBMDE0MDA3MkYxOUYgLyogTmF2aWdh
dG9yTWVkaWFTZXNzaW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1MzI2Q0REMTQxMDBB
QTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk5NkU1
OURGMURGMDEyOEQwMDY2MTJCOSAvKiBOYXZpZ2F0b3JXZWJEcml2ZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUUxRUU4Qjc4MjQxMzE5MUYwMEU3OTRENiAvKiBOYXZpZ2F0b3JXZWJYUi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOEEzMDlDOUYxMjM5NTBCRTAwQ0I5MjA0IC8qIE5lc3RpbmdMZXZlbElu
Y3JlbWVudGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTMzOTU2LDYgKzM0MDA3LDEzIEBACiAJCQkJ
RkQ1ODFGQjUxNTIwRjkzQjAwM0E3QTc1IC8qIFBlcmlvZGljV2F2ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTc1NUU4OTIyNEM3NDM0QjAwOUY3QzIzIC8qIFBlcmlvZGljV2F2ZUNvbnN0cmFpbnRz
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFNzU1RTg5OTI0Qzc0NjFEMDA5RjdDMjMgLyogUGVyaW9k
aWNXYXZlT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NzAyNkQ0QjUzOTAwQUEy
MUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1
NzI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICov
LAorCQkJCTkzQjBBNjU5MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJOTNCMEE2N0EyNkQ2QTRFOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNl
cnZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTQyNkNERDE0MTAwQUEyMUU0IC8qIFBl
cm1pc3Npb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1QjI2Q0REMTQxMDBBQTIxRTQg
LyogUGVybWlzc2lvblN0YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1NjI2Q0REMTQx
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlENURD
MkUwRjQyM0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxREJDMUI1NjIzNDdCM0QyMDBCOTAxQUYgLyogUGljdHVyZUluUGlj
dHVyZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxRDJDODJCNzIzNkEzRjZBMDA1NUQ2
QzUgLyogUGljdHVyZUluUGljdHVyZVN1cHBvcnQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IGYxODFj
Nzk2ZDY1MGNjODZmZTNmMDhhNzIwMDdhNmVkYzJlZmJjNzguLjg1MWEyMTRjOWE0ODdmZjY4ZDE2
YmU3ZGQ4ZmJiNTIwODg3ZWI5MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTE1NCw2ICsxNTQsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgbWFjcm8oTW9ja1JUQ1J0cFRyYW5zZm9ybSkgXAogICAgIG1hY3JvKE5hdmln
YXRvckNyZWRlbnRpYWxzKSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yTWVkaWFEZXZpY2VzKSBcCisg
ICAgbWFjcm8oTmF2aWdhdG9yUGVybWlzc2lvbnMpIFwKICAgICBtYWNybyhOYXZpZ2F0b3JVc2Vy
TWVkaWEpIFwKICAgICBtYWNybyhPZmZsaW5lQXVkaW9Db250ZXh0KSBcCiAgICAgbWFjcm8oT2Zm
c2NyZWVuQ2FudmFzKSBcCkBAIC0xODIsNiArMTgzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIG1hY3JvKFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcpIFwK
KyAgICBtYWNybyhQZXJtaXNzaW9uRGVzY3JpcHRvcikgXAorICAgIG1hY3JvKFBlcm1pc3Npb25T
dGF0dXMpIFwKKyAgICBtYWNybyhQZXJtaXNzaW9ucykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVu
dCkgXAogICAgIG1hY3JvKFB1YmxpY0tleUNyZWRlbnRpYWwpIFwKICAgICBtYWNybyhSZXNpemVP
YnNlcnZlcikgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFj
dG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KaW5kZXgg
NWU1OGYxMTE2NjdlZjYyMTBkNTMxMTBkN2I1NGE4MDJjODQzOTVkOC4uMDEzY2VkMDk0NmZmY2Q1
MjU5ZmEyNTBiMTYwM2ExOGU0NTllNDU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXRGYWN0b3J5LmluCkBAIC0zNSw2ICszNSw3IEBAIE9mZnNjcmVlbkNhbnZhcyBjb25kaXRpb25h
bD1PRkZTQ1JFRU5fQ0FOVkFTCiBQYXltZW50UmVxdWVzdCBjb25kaXRpb25hbD1QQVlNRU5UX1JF
UVVFU1QKIFBheW1lbnRSZXNwb25zZSBjb25kaXRpb25hbD1QQVlNRU5UX1JFUVVFU1QKIFBlcmZv
cm1hbmNlCitQZXJtaXNzaW9uU3RhdHVzCiBQaWN0dXJlSW5QaWN0dXJlV2luZG93IGNvbmRpdGlv
bmFsPVBJQ1RVUkVfSU5fUElDVFVSRV9BUEkKIFJlbW90ZVBsYXliYWNrIGNvbmRpdGlvbmFsPVdJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVAogUlRDRGF0YUNoYW5uZWwgY29uZGl0aW9uYWw9V0VCX1JU
QwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9UYXNrU291cmNlLmgKaW5kZXggNzEzM2Y2NzhlYTJkOTkyNjk1MTYwMjA4NjRl
ZjEzZDRmM2VmZDM5OC4uMmRhNDdiYWQ2YzczYTZiYTViZjI4M2I4ZDM1MmY0MGQyMWFmMDE0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVGFza1NvdXJjZS5oCkBAIC0zOSw2ICszOSw3IEBAIGVudW0gY2xhc3MgVGFz
a1NvdXJjZSA6IHVpbnQ4X3QgewogICAgIE1pY3JvdGFzaywKICAgICBOZXR3b3JraW5nLAogICAg
IFBlcmZvcm1hbmNlVGltZWxpbmUsCisgICAgUGVybWlzc2lvbiwKICAgICBQb3N0ZWRNZXNzYWdl
UXVldWUsCiAgICAgU3BlZWNoLAogICAgIFVzZXJJbnRlcmFjdGlvbiwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggOTY0ZTJkZDEyMDcwMzMxYTY1Y2EzNDFhYzcwZTRi
Mjg3NDIwMGEwZC4uNTVjYzQ2ZTI1OTE4NDY5ZjMxZDU2YzA0OTZlNDNkZDU1ZWNmZDVkMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTYzLDYgKzYzLDcgQEAKICNp
bmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZUNvbmZpZ3VyYXRpb24uaCIKICNpbmNsdWRl
ICJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uQ29udHJv
bGxlci5oIgogI2luY2x1ZGUgIlBsdWdpbkluZm9Qcm92aWRlci5oIgogI2luY2x1ZGUgIlByb2dy
ZXNzVHJhY2tlckNsaWVudC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luRGF0YS5oIgpAQCAt
MTE5Myw3ICsxMTk0LDggQEAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb25XaXRo
RW1wdHlDbGllbnRzKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKICAgICAgICAgbWFrZVVuaXF1
ZVJlZjxFbXB0eUZyYW1lTG9hZGVyQ2xpZW50PigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPER1
bW15U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxF
bXB0eU1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKSwKLSAgICAgICAgRW1wdHlCcm9hZGNhc3RDaGFu
bmVsUmVnaXN0cnk6OmNyZWF0ZSgpCisgICAgICAgIEVtcHR5QnJvYWRjYXN0Q2hhbm5lbFJlZ2lz
dHJ5OjpjcmVhdGUoKSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1teVBlcm1pc3Npb25Db250
cm9sbGVyPigpCiAgICAgfTsKIAogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxFbXB0eUNocm9t
ZUNsaWVudD4gZHVtbXlDaHJvbWVDbGllbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBlZWU2OGI3
N2UxZTVmY2UxZTU5YzMyOTQzNGE5YTg2MDBiMzY5NzEwLi44NjEwNzhiYTBiZjYxODNiNzcxMTQ1
YTc0YjQxYmUwN2Q3YjA1NjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTk5LDYgKzk5LDcgQEAK
ICNpbmNsdWRlICJQZXJmb3JtYW5jZUxvZ2dpbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZUxv
Z2dpbmdDbGllbnQuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1vbml0b3IuaCIKKyNpbmNsdWRl
ICJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9u
TWFuYWdlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU2NyZWVuLmgiCiAjaW5jbHVkZSAiUGxhdGZv
cm1TdHJhdGVnaWVzLmgiCkBAIC0zMjUsNiArMzI2LDcgQEAgUGFnZTo6UGFnZShQYWdlQ29uZmln
dXJhdGlvbiYmIHBhZ2VDb25maWd1cmF0aW9uKQogICAgICwgbV9sb2Fkc1N1YnJlc291cmNlcyhw
YWdlQ29uZmlndXJhdGlvbi5sb2Fkc1N1YnJlc291cmNlcykKICAgICAsIG1fc2hvdWxkUmVsYXhU
aGlyZFBhcnR5Q29va2llQmxvY2tpbmcocGFnZUNvbmZpZ3VyYXRpb24uc2hvdWxkUmVsYXhUaGly
ZFBhcnR5Q29va2llQmxvY2tpbmcpCiAgICAgLCBtX2h0dHBzVXBncmFkZUVuYWJsZWQocGFnZUNv
bmZpZ3VyYXRpb24uaHR0cHNVcGdyYWRlRW5hYmxlZCkKKyAgICAsIG1fcGVybWlzc2lvbkNvbnRy
b2xsZXIoV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5wZXJtaXNzaW9uQ29udHJvbGxlcikpCiB7
CiAgICAgdXBkYXRlVGltZXJUaHJvdHRsaW5nU3RhdGUoKTsKIApAQCAtMzY5Myw0ICszNjk1LDkg
QEAgdm9pZCBQYWdlOjpyZXNldFRleHRSZWNvZ25pdGlvblJlc3VsdHMoKQogCiAjZW5kaWYgLy8g
RU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCitQZXJtaXNzaW9uQ29udHJvbGxlciYgUGFnZTo6cGVy
bWlzc2lvbkNvbnRyb2xsZXIoKQoreworICAgIHJldHVybiBtX3Blcm1pc3Npb25Db250cm9sbGVy
LmdldCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDky
NTViZjMxM2M2N2Q3MTQ4MTVjZjc4MTUyNjZmZmQ4MDViMjJmNjAuLjNiMWUyNjkwNTU2ZGQ0ZjNk
MTdhOGViODVmMjRkMDA0MDg4NzQzNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0xMzEsNiArMTMxLDcg
QEAgY2xhc3MgUGF5bWVudENvb3JkaW5hdG9yOwogY2xhc3MgUGVyZm9ybWFuY2VMb2dnaW5nOwog
Y2xhc3MgUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50OwogY2xhc3MgUGVyZm9ybWFuY2VNb25pdG9y
OworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXI7CiBjbGFzcyBQbHVnaW5EYXRhOwogY2xhc3Mg
UGx1Z2luSW5mb1Byb3ZpZGVyOwogY2xhc3MgUGx1Z2luVmlld0Jhc2U7CkBAIC04NzIsNiArODcz
LDggQEAgcHVibGljOgogICAgIHZvaWQgY2FjaGVUZXh0UmVjb2duaXRpb25SZXN1bHQoY29uc3Qg
SFRNTEVsZW1lbnQmLCBjb25zdCBJbnRSZWN0JiBjb250YWluZXJSZWN0LCBjb25zdCBUZXh0UmVj
b2duaXRpb25SZXN1bHQmKTsKICNlbmRpZgogCisgICAgV0VCQ09SRV9FWFBPUlQgUGVybWlzc2lv
bkNvbnRyb2xsZXImIHBlcm1pc3Npb25Db250cm9sbGVyKCk7CisKIHByaXZhdGU6CiAgICAgc3Ry
dWN0IE5hdmlnYXRpb24gewogICAgICAgICBSZWdpc3RyYWJsZURvbWFpbiBkb21haW47CkBAIC0x
MTk0LDYgKzExOTcsOCBAQCBwcml2YXRlOgogICAgIGNvbnN0IGJvb2wgbV9odHRwc1VwZ3JhZGVF
bmFibGVkIHsgdHJ1ZSB9OwogICAgIG11dGFibGUgTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVy
IG1fbWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyOwogCisgICAgVW5pcXVlUmVmPFBlcm1pc3Np
b25Db250cm9sbGVyPiBtX3Blcm1pc3Npb25Db250cm9sbGVyOworCiAjaWYgRU5BQkxFKElNQUdF
X0FOQUxZU0lTKQogICAgIC8vIEZJWE1FOiBUaGVzZSBzaG91bGQgYmUgcmVmYWN0b3JlZCB0byB1
c2UgYSB3ZWFrIGhhc2ggbWFwIG9mIEhUTUxFbGVtZW50IHRvIHN0ZDo6cGFpcjxUZXh0UmVjb2du
aXRpb25SZXN1bHQsIEludFNpemU+LgogICAgIFZlY3RvcjxzdGQ6OnBhaXI8V2Vha1B0cjxIVE1M
RWxlbWVudD4sIHN0ZDo6cGFpcjxUZXh0UmVjb2duaXRpb25SZXN1bHQsIEludFJlY3Q+Pj4gbV90
ZXh0UmVjb2duaXRpb25SZXN1bHRzQnlFbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VD
b25maWd1cmF0aW9uLmNwcAppbmRleCA2NzVlMzY5Y2MxZTJjMmI3N2Q5OWZkZDA5MTM0YjE5OGYw
Y2YzYWYzLi5jYjU2MGZkNDE0YTIzYTc2YjJjYzdiNjBlYTUwMjk5OWE5ODFjYzk3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcApAQCAtNTksNyArNTksNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJh
dGlvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYg
ZWRpdG9yQ2xpZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJvdmlkZXIsIFVuaXF1
ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlciwgUmVmPENhY2hlU3Rv
cmFnZVByb3ZpZGVyPiYmIGNhY2hlU3RvcmFnZVByb3ZpZGVyLCBSZWY8VXNlckNvbnRlbnRQcm92
aWRlcj4mJiB1c2VyQ29udGVudFByb3ZpZGVyLCBSZWY8QmFja0ZvcndhcmRDbGllbnQ+JiYgYmFj
a0ZvcndhcmRDbGllbnQsIFJlZjxDb29raWVKYXI+JiYgY29va2llSmFyLCBVbmlxdWVSZWY8UHJv
Z3Jlc3NUcmFja2VyQ2xpZW50PiYmIHByb2dyZXNzVHJhY2tlckNsaWVudCwgVW5pcXVlUmVmPEZy
YW1lTG9hZGVyQ2xpZW50PiYmIGxvYWRlckNsaWVudEZvck1haW5GcmFtZSwgVW5pcXVlUmVmPFNw
ZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+JiYgc3BlZWNoUmVjb2duaXRpb25Qcm92aWRlciwgVW5p
cXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4mJiBtZWRpYVJlY29yZGVyUHJvdmlkZXIsIFJl
ZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYgYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KQor
UGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Np
b25JRCwgVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQsIFJlZjxTb2NrZXRQ
cm92aWRlcj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYm
IGxpYldlYlJUQ1Byb3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYgY2FjaGVTdG9y
YWdlUHJvdmlkZXIsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmIHVzZXJDb250ZW50UHJvdmlk
ZXIsIFJlZjxCYWNrRm9yd2FyZENsaWVudD4mJiBiYWNrRm9yd2FyZENsaWVudCwgUmVmPENvb2tp
ZUphcj4mJiBjb29raWVKYXIsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYgcHJv
Z3Jlc3NUcmFja2VyQ2xpZW50LCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+JiYgbG9hZGVy
Q2xpZW50Rm9yTWFpbkZyYW1lLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4m
JiBzcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyLCBVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3Zp
ZGVyPiYmIG1lZGlhUmVjb3JkZXJQcm92aWRlciwgUmVmPEJyb2FkY2FzdENoYW5uZWxSZWdpc3Ry
eT4mJiBicm9hZGNhc3RDaGFubmVsUmVnaXN0cnksIFVuaXF1ZVJlZjxQZXJtaXNzaW9uQ29udHJv
bGxlcj4mJiBwZXJtaXNzaW9uQ29udHJvbGxlcikKICAgICA6IHNlc3Npb25JRChzZXNzaW9uSUQp
CiAgICAgLCBlZGl0b3JDbGllbnQoV1RGTW92ZShlZGl0b3JDbGllbnQpKQogICAgICwgc29ja2V0
UHJvdmlkZXIoV1RGTW92ZShzb2NrZXRQcm92aWRlcikpCkBAIC03Myw2ICs3Myw3IEBAIFBhZ2VD
b25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IFVuaXF1ZVJlZjxFZGl0b3JDCiAgICAgLCBicm9hZGNhc3RDaGFubmVsUmVnaXN0cnkoV1RGTW92
ZShicm9hZGNhc3RDaGFubmVsUmVnaXN0cnkpKQogICAgICwgc3BlZWNoUmVjb2duaXRpb25Qcm92
aWRlcihXVEZNb3ZlKHNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXIpKQogICAgICwgbWVkaWFSZWNv
cmRlclByb3ZpZGVyKFdURk1vdmUobWVkaWFSZWNvcmRlclByb3ZpZGVyKSkKKyAgICAsIHBlcm1p
c3Npb25Db250cm9sbGVyKFdURk1vdmUocGVybWlzc2lvbkNvbnRyb2xsZXIpKQogewogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKaW5kZXggMGYyNTlkNTZkM2ExNDJh
MTRlMGVjODUxNGUwZmQ1YjJmZDI5MzBhNS4uZDc1YjcxMDRjMzUwMzkxZjU4YTk2OGZhZTJlNmUw
MzU0NjExNmFjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaApAQCAt
NTksNiArNTksNyBAQCBjbGFzcyBMaWJXZWJSVENQcm92aWRlcjsKIGNsYXNzIE1lZGlhUmVjb3Jk
ZXJQcm92aWRlcjsKIGNsYXNzIFBheW1lbnRDb29yZGluYXRvckNsaWVudDsKIGNsYXNzIFBlcmZv
cm1hbmNlTG9nZ2luZ0NsaWVudDsKK2NsYXNzIFBlcm1pc3Npb25Db250cm9sbGVyOwogY2xhc3Mg
UGx1Z2luSW5mb1Byb3ZpZGVyOwogY2xhc3MgUHJvZ3Jlc3NUcmFja2VyQ2xpZW50OwogY2xhc3Mg
U29ja2V0UHJvdmlkZXI7CkBAIC03NCw3ICs3NSw3IEBAIGNsYXNzIFNwZWVjaFN5bnRoZXNpc0Ns
aWVudDsKIGNsYXNzIFBhZ2VDb25maWd1cmF0aW9uIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShQYWdlQ29uZmlndXJhdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgot
ICAgIFdFQkNPUkVfRVhQT1JUIFBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklELCBVbmlx
dWVSZWY8RWRpdG9yQ2xpZW50PiYmLCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxM
aWJXZWJSVENQcm92aWRlcj4mJiwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmLCBSZWY8VXNl
ckNvbnRlbnRQcm92aWRlcj4mJiwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmLCBSZWY8Q29va2ll
SmFyPiYmLCBVbmlxdWVSZWY8UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmLCBVbmlxdWVSZWY8RnJh
bWVMb2FkZXJDbGllbnQ+JiYsIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYm
LCBVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPiYmLCBSZWY8QnJvYWRjYXN0Q2hhbm5l
bFJlZ2lzdHJ5PiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihQQUw6
OlNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiwgUmVmPFNvY2tldFByb3ZpZGVy
PiYmLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYsIFJlZjxDYWNoZVN0b3JhZ2VQcm92
aWRlcj4mJiwgUmVmPFVzZXJDb250ZW50UHJvdmlkZXI+JiYsIFJlZjxCYWNrRm9yd2FyZENsaWVu
dD4mJiwgUmVmPENvb2tpZUphcj4mJiwgVW5pcXVlUmVmPFByb2dyZXNzVHJhY2tlckNsaWVudD4m
JiwgVW5pcXVlUmVmPEZyYW1lTG9hZGVyQ2xpZW50PiYmLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2du
aXRpb25Qcm92aWRlcj4mJiwgVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4mJiwgUmVm
PEJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4mJiwgVW5pcXVlUmVmPFBlcm1pc3Npb25Db250cm9s
bGVyPiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB+UGFnZUNvbmZpZ3VyYXRpb24oKTsKICAgICBQ
YWdlQ29uZmlndXJhdGlvbihQYWdlQ29uZmlndXJhdGlvbiYmKTsKIApAQCAtMTM4LDYgKzEzOSw4
IEBAIHB1YmxpYzoKICAgICBib29sIHVzZXJTY3JpcHRzU2hvdWxkV2FpdFVudGlsTm90aWZpY2F0
aW9uIHsgdHJ1ZSB9OwogICAgIFNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nIHNo
b3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nIHsgU2hvdWxkUmVsYXhUaGlyZFBhcnR5
Q29va2llQmxvY2tpbmc6Ok5vIH07CiAgICAgYm9vbCBodHRwc1VwZ3JhZGVFbmFibGVkIHsgdHJ1
ZSB9OworCisgICAgVW5pcXVlUmVmPFBlcm1pc3Npb25Db250cm9sbGVyPiBwZXJtaXNzaW9uQ29u
dHJvbGxlcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQg
Yi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IDY2YWVkYTQzYzgyZDhiZmIzMzViYmZl
ZjYwOTVkMDRlZmFkYjg2MjAuLmE3NDVkNzIwMTVjZmMxOTVmYjk2ZjJjYzU1ODU4YTgzMWI3NTBl
YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dApAQCAtNjk0LDYgKzY5NCw3IEBAIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViTWVkaWFLZXlTeXN0ZW1DbGllbnQuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmNwcAogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAKK1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViUG9wdXBNZW51LmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQcm9ncmVzc1Ry
YWNrZXJDbGllbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApp
bmRleCA1ZmIzMDg5NTAxNTYyNDg2NjYxNTNjNjI0ZjQwMzRlYTRhODg0ZmRmLi45YTgyOTZiOThk
NWJiMGRiNjNhNzgwZjE1YmYzNDIzM2U3ZTQzYzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKQEAgLTE3Miw2ICsxNzIsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUv
TUlNRVR5cGVSZWdpc3RyeS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFTdHJlYW1SZXF1ZXN0
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL1Blcm1pc3Npb25TdGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZv
cm1FdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1B1YmxpY1N1ZmZpeC5oPgpAQCAtODQ5Myw2ICs4NDk0LDEyIEBA
IHZvaWQgV2ViUGFnZVByb3h5OjpyZXZva2VHZW9sb2NhdGlvbkF1dGhvcml6YXRpb25Ub2tlbihj
b25zdCBTdHJpbmcmIGF1dGhvcml6YXRpCiAgICAgbV9nZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlci5yZXZva2VBdXRob3JpemF0aW9uVG9rZW4oYXV0aG9yaXphdGlvblRva2VuKTsK
IH0KIAordm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RQZXJtaXNzaW9uKGNvbnN0IFdlYkNvcmU6
OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQoreworICAgIC8vIEZJWE1FOiBTaG93IGEgcHJvbXB0IGZvciB1c2VyIGlucHV0
LgorICAgIGNvbXBsZXRpb25IYW5kbGVyKFBlcm1pc3Npb25TdGF0ZTo6R3JhbnRlZCk7Cit9CisK
ICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyUHJveHkmIFdlYlBhZ2VQcm94eTo6dXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
KCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZWExYzIyZmI2
YjExYmU5Njg5OTI4MjY0ZDNiZjNmYzg0NzEwOWI4ZC4uNDYxYWFjYjg4ODZhNTIzMWNjYWFmZjA3
NGYyYTFhNTRjMDE3N2Q3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
QEAgLTI5NCw2ICsyOTQsNyBAQCBzdHJ1Y3QgTGlua0ljb247CiBzdHJ1Y3QgTWVkaWFTdHJlYW1S
ZXF1ZXN0Owogc3RydWN0IE1lZGlhVXNhZ2VJbmZvOwogc3RydWN0IE1vY2tXZWJBdXRoZW50aWNh
dGlvbkNvbmZpZ3VyYXRpb247CitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7CiBzdHJ1Y3Qg
UHJld2FybUluZm9ybWF0aW9uOwogc3RydWN0IFNlY3VyaXR5T3JpZ2luRGF0YTsKIHN0cnVjdCBT
aGFyZURhdGE7CkBAIC0yMTE3LDYgKzIxMTgsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCByZXF1
ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoR2VvbG9jYXRpb25JZGVudGlmaWVyLCBG
cmFtZUluZm9EYXRhJiYpOwogICAgIHZvaWQgcmV2b2tlR2VvbG9jYXRpb25BdXRob3JpemF0aW9u
VG9rZW4oY29uc3QgU3RyaW5nJiBhdXRob3JpemF0aW9uVG9rZW4pOworICAgIHZvaWQgcmVxdWVz
dFBlcm1pc3Npb24oY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6
UGVybWlzc2lvbkRlc2NyaXB0b3ImLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBl
cm1pc3Npb25TdGF0ZSk+JiYpOwogCiAjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUp
CiAgICAgdm9pZCBzZW5kTWVzc2FnZVRvV2ViVmlldyhVc2VyTWVzc2FnZSYmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBiYzM3
YjhmYzZhZGYzZWFkMTg3MmQxMTU1ZmYwY2JkMDA5ZGMwYWY5Li4wN2UwZjU0ODAzNDY5NzAzYTZm
NzM3ZDk5MzA3YjFlYzczNTBjZDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC02MDIsNCArNjAyLDYgQEAgbWVzc2FnZXMgLT4g
V2ViUGFnZVByb3h5IHsKICNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKICAgICBN
b2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KHN0cnVjdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4
dCBlbGVtZW50Q29udGV4dCwgVVJMIHVybCwgU3RyaW5nIHV1aWQsIFdlYkNvcmU6OkZsb2F0U2l6
ZSBzaXplKQogI2VuZGlmCisKKyAgICByZXF1ZXN0UGVybWlzc2lvbihzdHJ1Y3QgV2ViQ29yZTo6
Q2xpZW50T3JpZ2luIG9yaWdpbiwgc3RydWN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9y
IGRlc2NyaXB0b3IpIC0+IChlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHN0
YXRlKSBBc3luYwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggZmUzZDMyYjMyOTVjMmM0NGZkNDQ0NGNkZDdmMTQxZjI0MDA0Y2EwMi4u
ZmI2OGEzYmQxNmQyNzM4MmNkMzNjOTNiMTBiZWJlMjkzYjMzYTUwNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDk2LDYgKzE0OTYs
NyBAQAogCQk5M0FCOUI0RTI1NzU2N0UyMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1v
dGVSZWFsdGltZU1lZGlhU291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5M0FCOUI0MjI1NzQ5MjhDMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRp
b25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlLmggKi87IH07CiAJCTkzQUI5QjU1MjU3NUEyNzYw
MDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzQUI5QjRGMjU3NTg5MTEwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlYWx0
aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJOTNBQjlC
NTYyNTc1QTI4QjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRp
YVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBQjlCNTEyNTc1ODkxMTAwOThCMTBFIC8qIFNwZWVj
aFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwICovOyB9OworCQk5M0IwQTY3NTI2RDVBRENGMDBBQTIxRTQgLyogV2ViUGVybWlzc2lv
bkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzQjBBNjc0MjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5o
ICovOyB9OwogCQk5M0IyNjE0RDIyN0QxNDlFMDBCOTdBNzYgLyogU3RvcmFnZU1hbmFnZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjI2MTQ5MjI3
RDE0NzIwMEI5N0E3NiAvKiBTdG9yYWdlTWFuYWdlci5oICovOyB9OwogCQk5M0IyNjE0RTIyN0Qx
NEIxMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjI2MTQ1MjI3RDE0NzAwMEI5N0E3NiAvKiBM
b2NhbFN0b3JhZ2VEYXRhYmFzZS5oICovOyB9OwogCQk5M0IyNjE0RjIyN0QxNEIxMDBCOTdBNzYg
LyogTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IyNjE0NjIyN0QxNDcxMDBCOTdBNzYgLyogTG9jYWxT
dG9yYWdlRGF0YWJhc2VUcmFja2VyLmggKi87IH07CkBAIC00OTE0LDYgKzQ5MTUsMTAgQEAKIAkJ
OTNBQjlCNTIyNTc1ODkxMjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRp
bWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNl
TWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
M0FCOUI1MzI1NzU4OTEyMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGlt
ZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJN
ZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0FCOUI1NDI1NzU4OTEy
MDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1l
c3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwZWVjaFJlY29nbml0
aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk5M0IwQTY2RDI2RDQ1MTUwMDBBQTIxRTQgLyogUGVybWlzc2lvbk1hbmFn
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVybWlzc2lvbk1h
bmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY2RTI2RDQ1MTUw
MDBBQTIxRTQgLyogUGVybWlzc2lvbk1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGVybWlzc2lvbk1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOTNCMEE2NzMyNkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlBlcm1pc3Npb25Db250
cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NzQyNkQ1QTcy
RTAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTkzQjI2MTQ1MjI3RDE0NzAwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VE
YXRhYmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2NhbFN0b3JhZ2VE
YXRhYmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IyNjE0NjIyN0QxNDcx
MDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IyNjE0NzIyN0QxNDcxMDBCOTdBNzYgLyogTG9jYWxT
dG9yYWdlRGF0YWJhc2VUcmFja2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC05NjIzLDYgKzk2MjgsMTUgQEAKIAkJCXBhdGggPSBTcGVlY2g7CiAJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk5M0IwQTY2QzI2RDQ1MTFGMDBBQTIxRTQg
LyogUGVybWlzc2lvbiAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJOTNCMEE2NkQyNkQ0NTE1MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25NYW5hZ2VyLmNwcCAq
LywKKwkJCQk5M0IwQTY2RTI2RDQ1MTUwMDBBQTIxRTQgLyogUGVybWlzc2lvbk1hbmFnZXIuaCAq
LywKKwkJCSk7CisJCQlwYXRoID0gUGVybWlzc2lvbjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CisJCX07CiAJCTkzQjI2MTQzMjI3RDE0MzEwMEI5N0E3NiAvKiBXZWJTdG9yYWdlICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTk4NjMsNiArOTg3Nyw3
IEBACiAJCQkJNEE0MTBGNDExOUFGN0IyNzAwMkVCQUI1IC8qIE1lZGlhU3RyZWFtICovLAogCQkJ
CTUxMDVCMEQyMTYyRjdBNUUwMEUyNzcwOSAvKiBOZXR3b3JrICovLAogCQkJCTMxMDk5OTc0MTQ2
QzhBQTgwMDI5REVCOSAvKiBOb3RpZmljYXRpb25zIChVc2VyKSAqLywKKwkJCQk5M0IwQTY2QzI2
RDQ1MTFGMDBBQTIxRTQgLyogUGVybWlzc2lvbiAqLywKIAkJCQkxQTZGQjdBQTExRTY0QjQ5MDBE
QjEzNzEgLyogUGx1Z2lucyAqLywKIAkJCQk5M0FCOUI0ODI1NzRDNUNFMDA5OEIxMEUgLyogU3Bl
ZWNoICovLAogCQkJCTUxMThFOTk4MUYyOTUyNTkwMDNFRjlGNSAvKiBTdG9yYWdlICovLApAQCAt
OTkzMyw2ICs5OTQ4LDggQEAKIAkJCQk1MTIxMjdDMjE5MDgyMzlBMDBEQUYzNUMgLyogV2ViUGFz
dGVib2FyZE92ZXJyaWRlcy5oICovLAogCQkJCTBGODUwRkU0MUVEN0MzOUYwMEZCNzdBNyAvKiBX
ZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwICovLAogCQkJCTBGODUwRkU1MUVEN0MzOUYw
MEZCNzdBNyAvKiBXZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaCAqLywKKwkJCQk5M0IwQTY3
MzI2RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwICovLAorCQkJ
CTkzQjBBNjc0MjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oICov
LAogCQkJCTFBM0U3MzYwMTFDQzI2NTkwMDdCRDUzOSAvKiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMu
Y3BwICovLAogCQkJCTFBM0U3MzVGMTFDQzI2NTkwMDdCRDUzOSAvKiBXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaCAqLywKIAkJCQlEM0I5NDg0MjExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51
LmNwcCAqLywKQEAgLTEyNjYyLDYgKzEyNjc5LDcgQEAKIAkJCQlBMTc5OEI0QzIyMkYxQkQ0MDAw
NzY0QkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMUFCMUY3OTkxRDFCMzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGODUwRkU3MUVEN0MzOUYwMEZCNzdB
NyAvKiBXZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTkz
QjBBNjc1MjZENUFEQ0YwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUEzRTczNjExMUNDMjY1OTAwN0JENTM5IC8qIFdlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1NzQ0RjAxMjYzOEZCMzAwNkYwRjEyIC8q
IFdlYlBvcHVwSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNCOTQ4NDcxMUZGNEI2NTAwMDMy
QjM5IC8qIFdlYlBvcHVwTWVudS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Np
b25Db250cm9sbGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYjkwMzU4ZDFjYjE2OWFjNWU3YmIzYTRiNzc5
ZWVhZTk2NTYwMDUzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcApAQCAtMCwwICsxLDEz
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJQZXJt
aXNzaW9uQ29udHJvbGxlci5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworV2ViUGVybWlzc2lv
bkNvbnRyb2xsZXI6OldlYlBlcm1pc3Npb25Db250cm9sbGVyKFdlYlBhZ2UmIHBhZ2UpCisgICAg
OiBtX3BhZ2UobWFrZVdlYWtQdHIocGFnZSkpCit7Cit9CisKK1Blcm1pc3Npb25TdGF0ZSBXZWJQ
ZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVlcnkoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2lu
LCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpCit7CisgICAgaWYg
KCFtX3BhZ2UpCisgICAgICAgIHJldHVybiBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkRlbmll
ZDsKKworICAgIHJldHVybiBxdWVyeUNhY2hlKFdURk1vdmUob3JpZ2luKSwgV1RGTW92ZShkZXNj
cmlwdG9yKSk7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnJlcXVlc3QoQ2xp
ZW50T3JpZ2luJiYgb3JpZ2luLCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmIGRlc2Ny
aXB0b3IsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUGVybWlzc2lvblN0YXRlKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKK3sKKyAgICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRp
b25IYW5kbGVyKFBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkKTsKKworICAgIGF1dG8gY2FjaGVkUmVz
dWx0ID0gcXVlcnlDYWNoZShvcmlnaW4sIGRlc2NyaXB0b3IpOworICAgIGlmIChjYWNoZWRSZXN1
bHQgIT0gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpQcm9tcHQpCisgICAgICAgIHJldHVybiBj
b21wbGV0aW9uSGFuZGxlcihjYWNoZWRSZXN1bHQpOworCisgICAgbV9yZXF1ZXN0cy5hcHBlbmQo
UGVybWlzc2lvblJlcXVlc3QgeyBXVEZNb3ZlKG9yaWdpbiksIFdURk1vdmUoZGVzY3JpcHRvciks
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpIH0pOworICAgIHRyeVByb2Nlc3NpbmdSZXF1ZXN0
KCk7Cit9CisKK1Blcm1pc3Npb25TdGF0ZSBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVlcnlD
YWNoZShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mIG9yaWdpbiwgY29uc3QgV2ViQ29yZTo6
UGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCit7CisgICAgaWYgKG1fY2FjaGVkUGVy
bWlzc2lvbkVudHJpZXMuY29udGFpbnMob3JpZ2luKSkgeworICAgICAgICBhdXRvIHBlcm1pc3Np
b25FbnRyaWVzID0gbV9jYWNoZWRQZXJtaXNzaW9uRW50cmllcy5nZXQob3JpZ2luKTsKKyAgICAg
ICAgZm9yIChhdXRvJiBlbnRyeSA6IHBlcm1pc3Npb25FbnRyaWVzKSB7CisgICAgICAgICAgICBp
ZiAoZW50cnkuZmlyc3QgPT0gZGVzY3JpcHRvcikKKyAgICAgICAgICAgICAgICByZXR1cm4gZW50
cnkuc2Vjb25kOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIFdlYkNvcmU6OlBlcm1p
c3Npb25TdGF0ZTo6UHJvbXB0OworfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1
cGRhdGVDYWNoZShjb25zdCBDbGllbnRPcmlnaW4mIG9yaWdpbiwgY29uc3QgV2ViQ29yZTo6UGVy
bWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBz
dGF0ZSkKK3sKKyAgICBhdXRvJiBlbnRyaWVzID0gbV9jYWNoZWRQZXJtaXNzaW9uRW50cmllcy5l
bnN1cmUob3JpZ2luLCBbJl0oKSB7CisgICAgICAgIHJldHVybiBWZWN0b3I8UGVybWlzc2lvbkVu
dHJ5PiB7IH07CisgICAgfSkuaXRlcmF0b3ItPnZhbHVlOworICAgIGZvciAoYXV0byYgZW50cnkg
OiBlbnRyaWVzKSB7CisgICAgICAgIGlmIChlbnRyeS5maXJzdCA9PSBkZXNjcmlwdG9yKSB7Cisg
ICAgICAgICAgICBpZiAoZW50cnkuc2Vjb25kID09IHN0YXRlKQorICAgICAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICAgICAgZW50cnkuc2Vjb25kID0gc3RhdGU7CisgICAgICAgICAgICBw
ZXJtaXNzaW9uQ2hhbmdlZChvcmlnaW4sIGRlc2NyaXB0b3IsIHN0YXRlKTsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJv
bGxlcjo6dHJ5UHJvY2Vzc2luZ1JlcXVlc3QoKQoreworICAgIGlmIChtX3JlcXVlc3RzLmlzRW1w
dHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2hpbGUgKCFtX3JlcXVlc3RzLmlzRW1wdHko
KSkgeworICAgICAgICBhdXRvJiBjdXJyZW50UmVxdWVzdCA9IG1fcmVxdWVzdHMuZmlyc3QoKTsK
KyAgICAgICAgaWYgKGN1cnJlbnRSZXF1ZXN0LmlzV2FpdGluZ0ZvclJlcGx5KQorICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgIC8vIENhY2hlIG1heSBoYXZlIGNoYW5nZWQgYmV0d2VlbiBy
ZXF1ZXN0cy4KKyAgICAgICAgYXV0byBjYWNoZWRSZXN1bHQgPSBxdWVyeUNhY2hlKGN1cnJlbnRS
ZXF1ZXN0Lm9yaWdpbiwgY3VycmVudFJlcXVlc3QuZGVzY3JpcHRvcik7CisgICAgICAgIGlmIChj
YWNoZWRSZXN1bHQgIT0gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpQcm9tcHQpIHsKKyAgICAg
ICAgICAgIGF1dG8gdGFrZW5SZXF1ZXN0ID0gbV9yZXF1ZXN0cy50YWtlRmlyc3QoKTsKKyAgICAg
ICAgICAgIHRha2VuUmVxdWVzdC5jb21wbGV0aW9uSGFuZGxlcihjYWNoZWRSZXN1bHQpOworICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBjdXJyZW50UmVxdWVzdC5p
c1dhaXRpbmdGb3JSZXBseSA9IHRydWU7CisgICAgICAgIG1fcGFnZS0+c2VuZFdpdGhBc3luY1Jl
cGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OnJlcXVlc3RQZXJtaXNzaW9uKGN1cnJlbnRSZXF1
ZXN0Lm9yaWdpbiwgY3VycmVudFJlcXVlc3QuZGVzY3JpcHRvciksIFt0aGlzLCB3ZWFrVGhpcyA9
IG1ha2VXZWFrUHRyKCp0aGlzKV0oYXV0byBzdGF0ZSkgeworICAgICAgICAgICAgaWYgKCF3ZWFr
VGhpcykKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIGF1dG8gdGFrZW5S
ZXF1ZXN0ID0gbV9yZXF1ZXN0cy50YWtlRmlyc3QoKTsKKyAgICAgICAgICAgIHRha2VuUmVxdWVz
dC5jb21wbGV0aW9uSGFuZGxlcihzdGF0ZSk7CisgICAgICAgICAgICB1cGRhdGVDYWNoZSh0YWtl
blJlcXVlc3Qub3JpZ2luLCB0YWtlblJlcXVlc3QuZGVzY3JpcHRvciwgc3RhdGUpOworCisgICAg
ICAgICAgICB0cnlQcm9jZXNzaW5nUmVxdWVzdCgpOworICAgICAgICB9KTsKKyAgICB9Cit9CisK
K3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OmFkZE9ic2VydmVyKFdlYkNvcmU6OlBlcm1p
c3Npb25PYnNlcnZlciYgb2JzZXJ2ZXIpCit7CisgICAgbV9vYnNlcnZlcnMuYWRkKG9ic2VydmVy
KTsKK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cmVtb3ZlT2JzZXJ2ZXIoV2Vi
Q29yZTo6UGVybWlzc2lvbk9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICBtX29ic2VydmVycy5y
ZW1vdmUob2JzZXJ2ZXIpOworfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpwZXJt
aXNzaW9uQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mIG9yaWdpbiwgY29uc3Qg
V2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIFdlYkNvcmU6OlBlcm1p
c3Npb25TdGF0ZSBzdGF0ZSkKK3sKKyAgICBmb3IgKGF1dG8mIG9ic2VydmVyIDogbV9vYnNlcnZl
cnMpIHsKKyAgICAgICAgaWYgKG9ic2VydmVyLm9yaWdpbigpID09IG9yaWdpbiAmJiBvYnNlcnZl
ci5kZXNjcmlwdG9yKCkgPT0gZGVzY3JpcHRvcikKKyAgICAgICAgICAgIG9ic2VydmVyLnN0YXRl
Q2hhbmdlZChzdGF0ZSk7CisgICAgfQorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNz
aW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGM2ZDUxMGM3MTBlNTNlOTZh
YzZiNDgyNTc3ZDNlNDI3YWRiYjFkZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oCkBAIC0w
LDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPFdlYkNv
cmUvUGVybWlzc2lvbkNvbnRyb2xsZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJQZXJtaXNzaW9u
Q29udHJvbGxlciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpQZXJtaXNzaW9uQ29udHJvbGxlciB7
CitwdWJsaWM6CisgICAgZXhwbGljaXQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIoV2ViUGFnZSYp
OworCitwcml2YXRlOgorICAgIC8vIFdlYkNvcmU6OlBlcm1pc3Npb25Db250cm9sbGVyCisgICAg
V2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHF1ZXJ5KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmLCBX
ZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmKSBmaW5hbDsKKyAgICB2b2lkIHJlcXVlc3Qo
V2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKT4mJikgZmlu
YWw7CisgICAgdm9pZCBhZGRPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImKSBm
aW5hbDsKKyAgICB2b2lkIHJlbW92ZU9ic2VydmVyKFdlYkNvcmU6OlBlcm1pc3Npb25PYnNlcnZl
ciYpIGZpbmFsOworCisgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHF1ZXJ5Q2FjaGUoY29u
c3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2Ny
aXB0b3ImKTsKKyAgICB2b2lkIHVwZGF0ZUNhY2hlKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdp
biYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiwgV2ViQ29yZTo6UGVybWlz
c2lvblN0YXRlKTsKKyAgICB2b2lkIHRyeVByb2Nlc3NpbmdSZXF1ZXN0KCk7CisgICAgdm9pZCBw
ZXJtaXNzaW9uQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBjb25zdCBXZWJD
b3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk7CisK
KyAgICBXZWFrUHRyPFdlYlBhZ2U+IG1fcGFnZTsKKyAgICBXZWFrSGFzaFNldDxXZWJDb3JlOjpQ
ZXJtaXNzaW9uT2JzZXJ2ZXI+IG1fb2JzZXJ2ZXJzOworCisgICAgdXNpbmcgUGVybWlzc2lvbkVu
dHJ5ID0gc3RkOjpwYWlyPFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yLCBXZWJDb3JlOjpQ
ZXJtaXNzaW9uU3RhdGU+OworICAgIEhhc2hNYXA8V2ViQ29yZTo6Q2xpZW50T3JpZ2luLCBWZWN0
b3I8UGVybWlzc2lvbkVudHJ5Pj4gbV9jYWNoZWRQZXJtaXNzaW9uRW50cmllczsKKworICAgIHN0
cnVjdCBQZXJtaXNzaW9uUmVxdWVzdCB7CisgICAgICAgIFdlYkNvcmU6OkNsaWVudE9yaWdpbiBv
cmlnaW47CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yIGRlc2NyaXB0b3I7
CisgICAgICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRl
KT4gY29tcGxldGlvbkhhbmRsZXI7CisgICAgICAgIGJvb2wgaXNXYWl0aW5nRm9yUmVwbHkgeyBm
YWxzZSB9OworICAgIH07CisgICAgRGVxdWU8UGVybWlzc2lvblJlcXVlc3Q+IG1fcmVxdWVzdHM7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDA0ZTNhZTIwMTQzZjJmM2RiZDIwNjRhMzAyZjAx
Yjg0ZWRjYTk2NDUuLjcxMWVkOGU5MjI3NmViOTMxZjU0NDVjNzRmZDZjM2IwZTllYjU0MWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xMjEs
NiArMTIxLDcgQEAKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUg
IldlYlBheW1lbnRDb29yZGluYXRvci5oIgogI2luY2x1ZGUgIldlYlBlcmZvcm1hbmNlTG9nZ2lu
Z0NsaWVudC5oIgorI2luY2x1ZGUgIldlYlBlcm1pc3Npb25Db250cm9sbGVyLmgiCiAjaW5jbHVk
ZSAiV2ViUGx1Z2luSW5mb1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51LmgiCiAj
aW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIgpAQCAtNTYzLDcgKzU2NCw4IEBA
IFdlYlBhZ2U6OldlYlBhZ2UoUGFnZUlkZW50aWZpZXIgcGFnZUlELCBXZWJQYWdlQ3JlYXRpb25Q
YXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJGcmFtZUxv
YWRlckNsaWVudD4obV9tYWluRnJhbWUuY29weVJlZigpKSwKICAgICAgICAgbWFrZVVuaXF1ZVJl
ZjxXZWJTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPihtX2lkZW50aWZpZXIpLAogICAgICAgICBt
YWtlVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKnRoaXMpLAotICAgICAgICBXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS5icm9hZGNhc3RDaGFubmVsUmVnaXN0cnkoKQorICAgICAgICBX
ZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5icm9hZGNhc3RDaGFubmVsUmVnaXN0cnkoKSwKKyAgICAg
ICAgbWFrZVVuaXF1ZVJlZjxXZWJQZXJtaXNzaW9uQ29udHJvbGxlcj4oKnRoaXMpCiAgICAgKTsK
ICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50
KCp0aGlzKTsKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0
b3JNYWMuaAppbmRleCBiYmY4ZDFiYjhjZTZjMzAxZGMzZWYyMDE5NTNkODJmZWMwNWVkZDU4Li41
NmJjODFjNzhmMzRhYTQ1MzQ3OTM1ZDI3MWVjNTcwYzNmYzdlZTUyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFj
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0Rpc3BsYXlSZWZy
ZXNoTW9uaXRvck1hYy5oCkBAIC01MCw3ICs1MCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBzdGFy
dE5vdGlmaWNhdGlvbk1lY2hhbmlzbSgpIGZpbmFsOwogICAgIHZvaWQgc3RvcE5vdGlmaWNhdGlv
bk1lY2hhbmlzbSgpIGZpbmFsOwogCi0gICAgdm9pZCBhZGp1c3RQcmVmZXJyZWRGcmFtZXNQZXJT
ZWNvbmQoRnJhbWVzUGVyU2Vjb25kKSBmaW5hbDsKKyAgICB2b2lkIGFkanVzdFByZWZlcnJlZEZy
YW1lc1BlclNlY29uZChXZWJDb3JlOjpGcmFtZXNQZXJTZWNvbmQpIGZpbmFsOwogCiAgICAgRGlz
cGxheUxpbmtPYnNlcnZlcklEIG1fb2JzZXJ2ZXJJRDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2Vi
Q29yZTo6UnVuTG9vcE9ic2VydmVyPiBtX3J1bkxvb3BPYnNlcnZlcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBjZDZhNWY1NzI5OTRmN2VjNGZiZGU3
NjM3ZGY4NjdiZDUyZjNjODM0Li40ODAzZWJjOWVjNzdlODhlMTViMjhlMmJlZGMxNmQ2NzNhNzI4
OWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0x
OTUsNiArMTk1LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGFnZS5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9QYWdlQ29uZmlndXJhdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYXRoVXRpbGl0aWVzLmg+
CisjaW1wb3J0IDxXZWJDb3JlL1Blcm1pc3Npb25Db250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3Jt
U2NyZWVuLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Byb2dyZXNzVHJhY2tlci5oPgpAQCAtMTUzNiw3
ICsxNTM3LDggQEAgc3RhdGljIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUdhbWVwYWRQcm92aWRlcklm
TmVjZXNzYXJ5KCkKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJGcmFtZUxvYWRlckNsaWVudD4o
KSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpEdW1teVNwZWVjaFJlY29nbml0aW9u
UHJvdmlkZXI+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TWVkaWFSZWNvcmRl
clByb3ZpZGVyPigpLAotICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmdldE9y
Q3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0pCisgICAg
ICAgIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoW1tzZWxmIHByZWZl
cmVuY2VzXSBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSksCisgICAgICAgIG1ha2VVbmlxdWVSZWY8
V2ViQ29yZTo6RHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlcj4oKQogICAgICk7CiAjaWYgIVBMQVRG
T1JNKElPU19GQU1JTFkpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3
IFdlYkNocm9tZUNsaWVudChzZWxmKTsKQEAgLTE4MTQsNyArMTgxNiw4IEBAIHN0YXRpYyB2b2lk
IFdlYktpdEluaXRpYWxpemVHYW1lcGFkUHJvdmlkZXJJZk5lY2Vzc2FyeSgpCiAgICAgICAgIG1h
a2VVbmlxdWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KCksCiAgICAgICAgIG1ha2VVbmlxdWVS
ZWY8V2ViQ29yZTo6RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigpLAogICAgICAgICBt
YWtlVW5pcXVlUmVmPFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKSwKLSAgICAgICAg
V2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShbW3NlbGYgcHJlZmVyZW5j
ZXNdIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdKQorICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVs
UmVnaXN0cnk6OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZF0pLAorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15UGVybWlzc2lv
bkNvbnRyb2xsZXI+KCkKICAgICApOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVu
dCA9IG5ldyBXZWJDaHJvbWVDbGllbnRJT1Moc2VsZik7CiAjaWYgRU5BQkxFKERSQUdfU1VQUE9S
VCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwIGIvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKaW5kZXggMWNmMzJkYTI0YTA5MGNmZTNk
MmI2NTI5Y2E4M2Y4MjZjNTU4MmU5ZC4uYzE5ZThlZmY1N2Y4MTkwZWEyYzRiY2UzMTVmMGY4MGIz
OTJjMTliNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKQEAgLTEzOCw2ICsxMzgs
NyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1BhZ2VDb25maWd1cmF0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYXRoVXRpbGl0aWVz
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uQ29udHJvbGxlci5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0
Zm9ybU1vdXNlRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtV2hlZWxFdmVudC5o
PgpAQCAtMzEzMyw3ICszMTM0LDggQEAgSFJFU1VMVCBXZWJWaWV3Ojppbml0V2l0aEZyYW1lKFJF
Q1QgZnJhbWUsIF9Jbl8gQlNUUiBmcmFtZU5hbWUsIF9Jbl8gQlNUUiBncm91cE4KICAgICAgICAg
bWFrZVVuaXF1ZVJlZjxXZWJGcmFtZUxvYWRlckNsaWVudD4od2ViRnJhbWUpLAogICAgICAgICBt
YWtlVW5pcXVlUmVmPER1bW15U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4oKSwKICAgICAgICAg
bWFrZVVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCksCi0gICAgICAgIFdlYkJyb2Fk
Y2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoZmFsc2UpCisgICAgICAgIFdlYkJyb2Fk
Y2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoZmFsc2UpLAorICAgICAgICBtYWtlVW5p
cXVlUmVmPER1bW15UGVybWlzc2lvbkNvbnRyb2xsZXI+KCkKICAgICApOwogICAgIGNvbmZpZ3Vy
YXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudCh0aGlzKTsKICNpZiBFTkFC
TEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmMTM1ZmRjMzA5NzU2MDk3NmRhODA4Yzk5ODlmMDA3
M2JjOTFkNGU5Li44OGFiYjAzYjZiNmYzODJlMWIzMTZiZjliYWMyZjNjZjQwODUyNDAyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hl
ZC1uby1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2syL1Rlc3RFeHBl
Y3RhdGlvbnM6CisKIDIwMjEtMDgtMjUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBDcmFzaCBpbiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
cmVzaGFwZURpc3BsYXlCdWZmZXJCYWNraW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCA4YTY2NTBmODgyODQ5OTgwMmE5ZDIwZWZlNjliNTQzMzdiNjQ0YjhmLi4zOWFlMjhmNzQ0
M2I0ZDQzYzExNDQ3NjkxM2VkZmY0MTAzNjA0NWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMS0wOC0yNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1
QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9u
ZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5o
dHRwcy5zdWItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJt
aXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9u
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
dGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQt
c3luYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wOC0yNSAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWMgd2syXSBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXBvcnRp
bmctdG8tZnJhbWUtb3duZXIuaHR0cHMuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IDZiZGUyZjk0ZWFkMjE3Yjg2NDQzMjU3MThjMWY0YzYyMTFmMjc2NzAuLjhi
YzkzNjhkOGE4ZWQyOGJhYWE1NDEzZGJmOGFiZjJjMTZmZDE5MWYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMTk2LDYgKzE5Niw3IEBAIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vcGVybWlzc2lvbi1l
cnJvci5odG1sIFsgU2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXJlY29nbml0
aW9uLXRoZW4tc3RvcC5odG1sIFsgU2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0
LXNlY29uZC1yZWNvZ25pdGlvbi5odG1sIFsgU2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9u
L2lvcy8gWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lv
bnMvIFsgU2tpcCBdCiAKICMgYXBwLXByaXZhY3ktcmVwb3J0IHRlc3RzIHJlbHkgb24gV2ViS2l0
QWRkaXRpb25zCiBodHRwL3Rlc3RzL2FwcC1wcml2YWN5LXJlcG9ydC8gWyBTa2lwIF0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlz
c2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3Rl
ZC50eHQKaW5kZXggYjg0ZDQwZDc2NWYyMDQwODNkZWY4YjY3NzAwYzQyMDQ0YjAzNDY5OC4uMGM0
YmFhMGNmZWUwMWY5NGNlYWY0YWY3ZmIzOGY4OWI0ZmI2YmJlNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJu
ZXNzLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKQEAg
LTE5LDI5ICsxOSwyOSBAQCBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JJ
RDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVz
IE5hdmlnYXRvckxhbmd1YWdlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJO
YXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yT25MaW5lOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1
ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3
YXJlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lv
blN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZB
SUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVz
IiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJt
aXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBz
ZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3Rh
dHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9u
U3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3Ry
dWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNz
aW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVu
c2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJt
aXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgc3RhdGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Np
b25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbmNoYW5nZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lv
blN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIG11c3QgYmUgcHJpbWFyeSBp
bnRlcmZhY2Ugb2YgcGVybWlzc2lvblN0YXR1cyBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4
Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmpl
Y3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVz
IgotRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgcGVybWlzc2lvblN0YXR1cyBhc3NlcnRfZXF1YWxz
OiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51
bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBw
ZXJtaXNzaW9uU3RhdHVzIgotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlz
c2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0YXRlIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcg
b2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgotRkFJTCBQZXJtaXNzaW9uU3RhdHVz
IGludGVyZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY2hh
bmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2Vw
dGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3Qg
IlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgot
RkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMi
IG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lv
bnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNz
aW9ucyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQ
ZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIg
ZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25z
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBz
ZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJv
cGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
QEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90
IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1p
c3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogb3BlcmF0aW9uIHF1
ZXJ5KG9iamVjdCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlz
c2luZwotRkFJTCBQZXJtaXNzaW9ucyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmln
YXRvci5wZXJtaXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVj
dGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgU3RyaW5naWZpY2F0aW9uIG9m
IG5hdmlnYXRvci5wZXJtaXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0
IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgUGVybWlzc2lvbnMg
aW50ZXJmYWNlOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJx
dWVyeShvYmplY3QpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0
eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwg
UGVybWlzc2lvbnMgaW50ZXJmYWNlOiBjYWxsaW5nIHF1ZXJ5KG9iamVjdCkgb24gbmF2aWdhdG9y
LnBlcm1pc3Npb25zIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
YXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQg
Z290ICJ1bmRlZmluZWQiCi1GQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwZXJt
aXNzaW9ucyBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJv
cGVydHkgInBlcm1pc3Npb25zIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBOYXZpZ2F0
b3IgaW50ZXJmYWNlOiBuYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJwZXJtaXNzaW9u
cyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicGVybWlz
c2lvbnMiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK1BBU1MgUGVybWlzc2lvblN0YXR1
cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0
CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgUGVybWlzc2lvblN0YXR1
cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxl
cyBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIHN0
YXRlCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UK
K1BBU1MgUGVybWlzc2lvblN0YXR1cyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHBlcm1p
c3Npb25TdGF0dXMKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIHBlcm1pc3Npb25TdGF0dXMKK1BB
U1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJzdGF0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKK1BBU1MgUGVybWlzc2lv
blN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJvbmNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQ
ZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9ucyBpbnRl
cmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVybWlz
c2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25z
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBxdWVyeShvYmplY3QpCitQQVNTIFBlcm1pc3Npb25zIG11c3QgYmUg
cHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zCitQQVNTIFN0cmluZ2lm
aWNhdGlvbiBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJm
YWNlOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeShv
YmplY3QpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6
IGNhbGxpbmcgcXVlcnkob2JqZWN0KSBvbiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgd2l0aCB0b28g
ZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvcgorUEFTUyBOYXZpZ2F0b3IgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgcGVybWlzc2lvbnMKK1BBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogbmF2
aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGVybWlzc2lvbnMiIHdpdGggdGhlIHByb3Bl
ciB0eXBlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
aWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA1MjU2MDJkMTZkN2YwZjU0
Y2E4ZWYwM2Y3ZmNmNWI0ZWVlZjMxNjk3Li4wNjJiMjk1N2YzMTU1MWIzNTJhNDk1NDE2YzNmNGFi
ZmE1Nzk5ZTZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xOSwyNSArMTksMjUg
QEAgUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JMYW5n
dWFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1
ZGVzIE5hdmlnYXRvck9uTGluZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2Vy
TmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVyIG5h
bWVzIGFyZSB1bmlxdWUKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVj
dGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25T
dGF0dXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJv
cGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBp
bnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBl
cm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJt
aXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2lu
ZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0
eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQ
ZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlz
c2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIg
bWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRl
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBl
cm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNz
aW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2Ug
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVy
bWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3Np
bmcKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNl
IG9iamVjdCBsZW5ndGgKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IG5h
bWUKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9uU3RhdHVz
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVz
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVz
IGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UKIEZBSUwgUGVybWlzc2lvblN0YXR1cyBtdXN0IGJlIHBy
aW1hcnkgaW50ZXJmYWNlIG9mIHBlcm1pc3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFsczogVW5leHBl
Y3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBn
b3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lv
blN0YXR1cyIKIEZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIHBlcm1pc3Npb25TdGF0dXMgYXNzZXJ0
X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBl
Y3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJp
YWJsZTogcGVybWlzc2lvblN0YXR1cyIKIEZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6
IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzdGF0ZSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFs
dWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKIEZBSUwgUGVybWlzc2lv
blN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJvbmNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3Rl
ZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qg
b2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0
YXR1cyIKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90
IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1p
c3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbGVuZ3Ro
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBl
cm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwg
UGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlz
c2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJt
aXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVj
dGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5
ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBxdWVyeShvYmplY3QpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lv
bnMiIG1pc3NpbmcKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ug
b2JqZWN0IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BB
U1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29u
c3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3Bh
YmxlcyBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVy
eShvYmplY3QpCiBGQUlMIFBlcm1pc3Npb25zIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Yg
bmF2aWdhdG9yLnBlcm1pc3Npb25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3Qg
ZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgogRkFJTCBTdHJpbmdpZmljYXRp
b24gb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBv
YmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgogRkFJTCBQZXJtaXNz
aW9ucyBpbnRlcmZhY2U6IG5hdmlnYXRvci5wZXJtaXNzaW9ucyBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgInF1ZXJ5KG9iamVjdCkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IHdy
b25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4
cGVjdGVkLnR4dAppbmRleCBjM2U4NjA1Zjg3Mjg3YTgwMzgxZjVkYjgwNmNkZDA1YTI1NTY1ZGRl
Li5jMmZkNjVlOGQ0MDAyYTcyMzAxODdhNjFmNTFjMjgyZWZjMWM2YmVjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25m
Yy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4
dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IFdlYiBORkMgUGVybWlzc2lvbi4gdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5x
dWVyeScpCitQQVNTIFRlc3QgV2ViIE5GQyBQZXJtaXNzaW9uLgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1p
c3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3Vi
LWV4cGVjdGVkLnR4dAppbmRleCBlNDJkZGEyNjEyZjI1N2I3ZjAyYmJlZWY2NTYzM2IyNWI3MzY0
N2E1Li5jNGJhMjQ5MmU5OTE5OWQ2NjYwNWE4YzAxYWEwMTUxYjk2MjQ2MDc4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25z
L3Blcm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRl
Lmh0dHBzLnN1Yi1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgUGVybWlzc2lv
bnMuc3RhdGUgaXMgInByb21wdCIgd2l0aCBhbGxvdz0iZ2VvbG9jYXRpb24iIGluIHNhbWUtb3Jp
Z2luIGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgi
Z2VvbG9jYXRpb24iKSBleHBlY3RlZCAoc3RyaW5nKSAicHJvbXB0IiBidXQgZ290IChvYmplY3Qp
IG51bGwKLUZBSUwgUGVybWlzc2lvbnMuc3RhdGUgaXMgInByb21wdCIgd2l0aCBhbGxvdz0iZ2Vv
bG9jYXRpb24iIGluIGNyb3NzLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0
b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgKHN0cmluZykgInBy
b21wdCIgYnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIFBlcm1pc3Npb24uc3RhdGUgaXMgInBy
b21wdCIgaW4gc2FtZS1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBl
cm1pc3Npb25zLnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJwcm9tcHQi
IGJ1dCBnb3QgKG9iamVjdCkgbnVsbAotRkFJTCBQZXJtaXNzaW9uLnN0YXRlIGlzICJkZW5pZWQi
IGluIGNyb3NzLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVybWlz
c2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgKHN0cmluZykgImRlbmllZCIgYnV0
IGdvdCAob2JqZWN0KSBudWxsCitQQVNTIFBlcm1pc3Npb25zLnN0YXRlIGlzICJwcm9tcHQiIHdp
dGggYWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLgorUEFTUyBQZXJt
aXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93PSJnZW9sb2NhdGlvbiIgaW4gY3Jv
c3Mtb3JpZ2luIGlmcmFtZXMuCitQQVNTIFBlcm1pc3Npb24uc3RhdGUgaXMgInByb21wdCIgaW4g
c2FtZS1vcmlnaW4gaWZyYW1lcy4KK0ZBSUwgUGVybWlzc2lvbi5zdGF0ZSBpcyAiZGVuaWVkIiBp
biBjcm9zcy1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Np
b25zLnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkICJkZW5pZWQiIGJ1dCBnb3QgInByb21w
dCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVy
bWlzc2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQKaW5kZXggMTFmYjFhMGQ2MTI0ZGE5NGUw
MDFlN2RkOTIzZTAxN2NlNjllNzhiYS4uMGU0ZWJjYzQ3Y2NiOTM4OTA4ZWNlODRjYzY4ZjE1M2Qw
ODUzNzlhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Np
b25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAog
Ci1GQUlMIFRlc3QgUGVybWlzc2lvblN0YXR1cydzIG5hbWUgYXR0cmlidXRlLiBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lv
bnMucXVlcnknKSIKK1BBU1MgVGVzdCBQZXJtaXNzaW9uU3RhdHVzJ3MgbmFtZSBhdHRyaWJ1dGUu
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
c2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAppbmRleCA4NWM3YmJhNWMy
YjI0NTkzZjUxZTIxNDZiZTI1YmQxNmZhMDVmZjU4Li44ZTBlNzAyZDFmMmRkNDhjYTY5OTljYTVm
Yjk0ZTUxMmE2NDViZTliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0
CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgInNjcmVlbi13YWtlLWxvY2siIFBlcm1pc3Np
b24uIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmln
YXRvci5wZXJtaXNzaW9ucy5xdWVyeScpIgorUEFTUyBUZXN0ICJzY3JlZW4td2FrZS1sb2NrIiBQ
ZXJtaXNzaW9uLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1mZXRjaC1wZXJtaXNzaW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQu
dHh0CmluZGV4IDlhOTQyNjlmYjc0MzhmYzYzYmUxOGQwMGNkMjk5N2NjNTliYThkZDYuLjc4NWJi
NTg1ZjUxNTk1ZmRlYTA1MjM0MTY3MjM4MTNjOGRiMjMxNTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNr
Z3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5k
LWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRl
c3QgQmFja2dyb3VuZCBGZXRjaCBQZXJtaXNzaW9uLiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykKK1BBU1MgVGVzdCBC
YWNrZ3JvdW5kIEZldGNoIFBlcm1pc3Npb24uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1i
YWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFj
a2dyb3VuZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CmluZGV4IDMxNmQzNTFhMGUwNzU0
YjFlNTA5YmYzY2EwYWRhNGI2NGRlMzU2YTcuLjRlOWYzN2E4NzU2ZWIxN2EyZmI4NGYxMTcwMmEx
NDNhODZiNzA5OWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVy
bWlzc2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1w
ZXJtaXNzaW9uLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IFBlcmlv
ZGljIEJhY2tncm91bmQgU3luYyBQZXJtaXNzaW9uLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKSIKK0ZB
SUwgVGVzdCBQZXJpb2RpYyBCYWNrZ3JvdW5kIFN5bmMgUGVybWlzc2lvbi4gcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBl
IGVycm9yIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3Qv
ZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1l
eHBlY3RlZC50eHQKaW5kZXggZGY5MDEwOTA0ZDU3N2U4NWEwNzY2NjdhOTM3YWQ3N2U2ZDhmNTk1
Ny4uYzY4ZDNjYTBiMzBjZGNlZTdkZTFlYjdiZTQxMzY5YTBiZWRiODNiYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQt
bm8tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
ZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMTgs
NiArMTgsNyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgaXMgT0sKIG5hdmlnYXRvci5t
ZWRpYVNlc3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlwZXMgaXMgT0sKIG5hdmlnYXRvci5v
bkxpbmUgaXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyBPSwogbmF2aWdhdG9yLnBsYXRm
b3JtIGlzIE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwogbmF2aWdhdG9yLnByb2R1Y3QgaXMg
T0sKQEAgLTUxLDYgKzUyLDcgQEAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGlzIE9LCiBu
YXZpZ2F0b3IubWVkaWFTZXNzaW9uIGlzIE9LCiBuYXZpZ2F0b3IubWltZVR5cGVzIGlzIE9LCiBu
YXZpZ2F0b3Iub25MaW5lIGlzIE9LCituYXZpZ2F0b3IucGVybWlzc2lvbnMgaXMgT0sKIG5hdmln
YXRvci5wbGF0Zm9ybSBpcyBPSwogbmF2aWdhdG9yLnBsdWdpbnMgaXMgT0sKIG5hdmlnYXRvci5w
cm9kdWN0IGlzIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDZjZWUwZmEyZDRkNWRmZjZiOWQ2MTgyN2VlZTNlOTE0ZDk3OWI5NDUuLjQwOGM4YjQxYmM0
M2NhMWIzM2YwNjQ3OTEwYTJiYTVjNjYzMzZkYmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dr
Mi9UZXN0RXhwZWN0YXRpb25zCkBAIC04NjAsNCArODYwLDUgQEAgZmFzdC9zcGVlY2hyZWNvZ25p
dGlvbi9wZXJtaXNzaW9uLWVycm9yLmh0bWwgWyBQYXNzIF0KIGZhc3Qvc3BlZWNocmVjb2duaXRp
b24vc3RhcnQtcmVjb2duaXRpb24tdGhlbi1zdG9wLmh0bWwgWyBQYXNzIF0KIGZhc3Qvc3BlZWNo
cmVjb2duaXRpb24vc3RhcnQtc2Vjb25kLXJlY29nbml0aW9uLmh0bWwgWyBQYXNzIF0KIGZ1bGxz
Y3JlZW4vZnVsbC1zY3JlZW4tZW50ZXItd2hpbGUtZXhpdGluZy5odG1sIFsgUGFzcyBdCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zLyBbIFBhc3MgXQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436583</attachid>
            <date>2021-08-26 16:05:17 -0700</date>
            <delta_ts>2021-08-26 16:22:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210826160516.patch</filename>
            <type>text/plain</type>
            <size>124926</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLjAwYTQ0NjI0ZDI5YWZhNmM4YmNjZTcxM2MyZWU4N2U5Zjc5NTk4
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIxLTA4LTI1
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92
ZSBzb21lIGlPUy1zcGVjaWZpYyBjb21waWxlLXRpbWUgZ3VhcmRzIHRoYXQgYXJlIG5vIGxvbmdl
ciBuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYTkzNTJkZDhlZjlkY2Q5NWZiZDY3MTJiNTRlYjRlZWZm
ZWQyNWMyLi5kODI4YTAwNWQ2NDhiMDgxOWJhMGI5OTdiY2FhMGY1N2I5MjkyNzVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNjkgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiaW5kaW5ncyBj
b2RlIGFuZCBhIGZlYXR1cmUgZmxhZyBmb3IgUGVybWlzc2lvbnMgQVBJLgorICAgICAgICBTcGVj
OiBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLiBSZWJhc2VsaW5lIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9kdWxlcy9w
ZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAg
ICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6b3BlcmF0b3I9
PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yOjpkZWNvZGUp
OgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmg6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZl
ci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OlBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6flBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6c3RhdGVDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUg
Y29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uczo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpQZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJtaXNzaW9uczo6bmF2aWdhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25z
OjpxdWVyeSk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbDogQWRk
ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIGRv
bS9UYXNrU291cmNlLmg6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMpOgorICAgICAg
ICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX3Blcm1pc3Npb25Db250cm9s
bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnBlcm1pc3Npb25Db250cm9sbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Om1faHR0cHNVcGdyYWRlRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
ICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24pOgor
ICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKKwogMjAyMS0wOC0yNSAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGlu
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggNDI0MWIyZTZmYTc4NTRmMTVmZDMzYzZjYTljN2ZlYjM3YmMxZGIyMS4uMDM2Yzkz
YjFjMmI5YzE0NzkwZTI1OTVmM2IyOGVmZWVlODRmNGMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MyBAQAorMjAyMS0wOC0yNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2V0IHVwIGJhc2ljIGluZnJhc3RyY3R1cmUgb2Yg
cGVybWlzc2lvbiBnZXR0aW5nIGFuZCBzZXR0aW5nLgorCisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBl
cm1pc3Npb25Db250cm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRy
b2xsZXI6OnF1ZXJ5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6
OnJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVl
cnlDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRh
dGVDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQ
cm9jZXNzaW5nUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjphZGRPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjpyZW1vdmVPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250
cm9sbGVyOjpwZXJtaXNzaW9uQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fYXBwSGlnaGxp
Z2h0c1Zpc2libGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFjLmg6CisKIDIwMjEtMDgtMjYgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25v
cmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW2N1cmxdIFJFR1JFU1NJT04ocjI4MTE1OCk6
IGZldGNoKCdodHRwOi8vbG9jYWxob3N0LycpIGZyb20gYWJvdXQ6YmxhbmsgZG9lc24ndCBlbWl0
IHRoZSBjb25zb2xlIGVycm9yIG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRl
eCA0NWE1NDg2ZTA1ODA1ZDk3YmMxZTQ4YjQ0ZjkzZGEzMDMyOGE2YTFkLi5mZjc3YjQ5NWE4MmVj
OTI4MzQ5MTU4NGQ2MWFkZDJkZjA5NDg5NzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5h
bWU6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IGluaXRTaW1wbGVIVE1MRG9jdW1l
bnRXaXRoU3R5bGU6ZnJhbWU6cHJlZmVyZW5jZXM6Z3JvdXBOYW1lOl0pOgorCiAyMDIxLTA4LTI0
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gSW1wbGVt
ZW50IHByb2Nlc3Mtc3dhcHBpbmcgYmFzZWQgb24gQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xpY3kg
SFRUUCBoZWFkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCBlMjgxNTEwMjk4YThj
NzM2NDFkYzQwNDk1Njk3YTJkZjQ1YTUxM2NhLi42MGE4ZDQ3NjMzNjA4NzU4ZWY4ODU0MmJmYWFj
YjZiOGI5OTY5ZjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3
Ojppbml0V2l0aEZyYW1lKToKKwogMjAyMS0wOC0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXSzJdIEltcGxlbWVudCBwcm9jZXNzLXN3YXBwaW5nIGJhc2Vk
IG9uIENyb3NzLU9yaWdpbi1PcGVuZXItUG9saWN5IEhUVFAgaGVhZGVyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwu
eWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVy
aW1lbnRhbC55YW1sCmluZGV4IDE4NWE1YWMwZjQ1NGM3NmMwMzQ3OTJhZDE4NTc2MWZjY2E2OTQ5
OTEuLjU1NTQ2MDBkYmM2NjU4ZmExY2FiMmQwNThjZDUzNWRhZjUyOTMxYzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRh
bC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNl
c0V4cGVyaW1lbnRhbC55YW1sCkBAIC04ODEsNiArODgxLDE4IEBAIFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmdTZW5zaXRpdmVQcm9wZXJ0aWVzRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAg
ZGVmYXVsdDogZmFsc2UKIAorUGVybWlzc2lvbnNBUElFbmFibGVkOgorICB0eXBlOiBib29sCisg
IGh1bWFuUmVhZGFibGVOYW1lOiAiUGVybWlzc2lvbnMgQVBJIgorICBodW1hblJlYWRhYmxlRGVz
Y3JpcHRpb246ICJFbmFibGUgUGVybWlzc2lvbnMgQVBJIgorICBkZWZhdWx0VmFsdWU6CisgICAg
V2ViS2l0TGVnYWN5OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAgICBk
ZWZhdWx0OiBmYWxzZQorICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiBQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudERlYnVnTW9kZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgaHVt
YW5SZWFkYWJsZU5hbWU6ICJQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50IERlYnVnIE1vZGUiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IGJiYjg0MmE1MzlhMTA4N2M5ZTFkYjQ2M2QwMTlkZDJiMTIz
MTQyYzkuLjA3ZTVlMDU1OGY2ZGRkNDExZWM0Y2Y1OTZkZTM0M2Y0ODNjMDk3N2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC00OCw2ICs0OCw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfSU5DTFVE
RV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRl
bnR1dGlscyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9ub3RpZmljYXRpb25zIgogICAg
ICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0IgorICAgICIke1dFQkNPUkVf
RElSfS9Nb2R1bGVzL3Blcm1pc3Npb25zIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3Bp
Y3R1cmVpbnBpY3R1cmUiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGx1Z2lucyIKICAg
ICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9yZW1vdGVwbGF5YmFjayIKQEAgLTIwMSw2ICsyMDIs
NyBAQCBzZXQoV2ViQ29yZV9JRExfSU5DTFVERVMKICAgICBNb2R1bGVzL21vZGVsLWVsZW1lbnQK
ICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0Cisg
ICAgTW9kdWxlcy9wZXJtaXNzaW9ucwogICAgIE1vZHVsZXMvc3BlZWNoCiAgICAgTW9kdWxlcy9z
dHJlYW1zCiAgICAgTW9kdWxlcy93ZWJhdWRpbwpAQCAtNDYwLDYgKzQ2MiwxMyBAQCBzZXQoV2Vi
Q29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVu
dFNoaXBwaW5nVHlwZS5pZGwKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRWYWxp
ZGF0aW9uRXJyb3JzLmlkbAogCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVy
bWlzc2lvbnMuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRv
ci5pZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbAorICAgIE1v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbAorICAgIE1vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25zLmlkbAorCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50K1BpY3R1
cmVJblBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50T3JT
aGFkb3dSb290K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0
dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggMzliMmIzMDA0ZTRjNTc5NDM3ZTY1
YWNhOTczMjdjNzhkNGQ3NDVkZS4uNTExYjUxMzEyMDBhYmVjODNiZTQ5MDdhN2JlNDE5MjNhNjJm
MzY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVs
aXN0CkBAIC0zODgsNiArMzg4LDEyIEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5bWVudHJl
cXVlc3QvUGF5bWVudFJlc3BvbnNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wYXltZW50
cmVxdWVzdC9QYXltZW50U2hpcHBpbmdPcHRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ1R5cGUuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzLmlkbAorJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlk
bAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwK
KyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudCtQaWN0dXJlSW5QaWN0
dXJlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50
T3JTaGFkb3dSb290K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuaWRsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDE5Njcx
Zjc1MDZkNmE3OTM3NGM1ZWE0NWFjNzcxZmM3ZjFiNzk1MmIuLjliNDg0YWJhNDhjMmM1Y2ZjNjBh
Y2VlZWMyOTNlYmNhOWMzOTcxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xMzc3LDYgKzEzNzcsOCBAQCAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitNZWRpYURldmljZXMu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmln
YXRvcitNZWRpYURldmljZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFTZXNzaW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFTZXNzaW9uLmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1Bl
cm1pc3Npb25zLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOYXZpZ2F0b3IrUGVybWlzc2lvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViRHJpdmVyLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViRHJpdmVyLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9y
K1dlYlhSLmNwcApAQCAtMTU4Myw2ICsxNTg1LDE2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZUNv
bnN0cmFpbnRzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUGVyaW9kaWNXYXZlT3B0aW9ucy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlT3B0aW9ucy5oCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25EZXNjcmlwdG9yLmNwcAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9u
RGVzY3JpcHRvci5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1Blcm1pc3Npb25OYW1lLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uTmFtZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0ZS5jcHAKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvblN0YXRlLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvblN0YXR1
cy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVy
bWlzc2lvblN0YXR1cy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1Blcm1pc3Npb25zLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9ucy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BpY3R1cmVJblBpY3R1cmVXaW5k
b3cuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQbGF5
YmFja0RpcmVjdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGQ2NGU2
NWU4NmU1ZTExNDI2NjdhOWUzODI3NjgzYTk2OTJmMjdhZjEuLmY5ZWU2NDI4YmEwYTU0ZDU0YzAy
NTdhYTZkNmEwMDAxZTJlNDIxYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAt
MzI0LDYgKzMyNCwxMiBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdPcHRpb24uaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nVHlwZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVy
cm9ycy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3Ir
UGVybWlzc2lvbnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbk5hbWUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvblN0YXRlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0dXMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlu
cGljdHVyZS9Eb2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGljdHVyZUluUGlj
dHVyZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVy
UGljdHVyZUluUGljdHVyZUV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9I
ZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCBlYjA3Yjgw
Yzk5MzNkNjlhOGMzNjMxOTE4Yzc1ZGJlNGUzN2E5MmI4Li43NmNlMGM2NjFmZWU4MzBkMTc2ZTM2
MWY1Nzk4NzM1YzdhZTFlMGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNt
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTEyOSw2ICsxMjksMTIg
QEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIE1vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uLmgKICAgICBNb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgKIAorICAgIE1vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbkRlc2NyaXB0b3IuaAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bk5hbWUuaAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk9ic2VydmVyLmgKKyAg
ICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCisKICAgICBNb2R1bGVzL3Bs
dWdpbnMvUGx1Z2luUmVwbGFjZW1lbnQuaAogICAgIE1vZHVsZXMvcGx1Z2lucy9Zb3VUdWJlUGx1
Z2luUmVwbGFjZW1lbnQuaAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBi
MTI3ZTdmM2ExYzU2NjZjZDBkMGM4OGZlOTExZTk2YzgzNGY2NQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25z
LmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3Blcm1pc3Npb25zLyNuYXZpZ2F0b3ItYW5kLXdvcmtlcm5hdmlnYXRvci1leHRlbnNpb24K
KworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCisgICAgSW1wbGVtZW50
ZWRCeT1OYXZpZ2F0b3JQZXJtaXNzaW9ucworXSBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3Ig
eworICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgUGVybWlzc2lvbnMgcGVybWlz
c2lvbnM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTFmNTU1ODg2ZDhl
NzFhMzQ5ZWU3NWJmM2M0MTZmMDJmMWM0N2FiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKQEAgLTAs
MCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJO
YXZpZ2F0b3JQZXJtaXNzaW9ucy5oIgorCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVk
ZSAiUGVybWlzc2lvbnMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitOYXZpZ2F0b3JQZXJt
aXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMoTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCisgICAg
OiBtX25hdmlnYXRvcihuYXZpZ2F0b3IpCit7Cit9CisKK1JlZlB0cjxQZXJtaXNzaW9ucz4gTmF2
aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9yKQorewor
ICAgIHJldHVybiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6ZnJvbShuYXZpZ2F0b3IpLT5wZXJtaXNz
aW9ucygpOworfQorCitSZWZQdHI8UGVybWlzc2lvbnM+IE5hdmlnYXRvclBlcm1pc3Npb25zOjpw
ZXJtaXNzaW9ucygpCit7CisgICAgaWYgKCFtX3Blcm1pc3Npb25zKQorICAgICAgICBtX3Blcm1p
c3Npb25zID0gUGVybWlzc2lvbnM6OmNyZWF0ZShtX25hdmlnYXRvcik7CisKKyAgICByZXR1cm4g
bV9wZXJtaXNzaW9uczsKK30KKworTmF2aWdhdG9yUGVybWlzc2lvbnMqIE5hdmlnYXRvclBlcm1p
c3Npb25zOjpmcm9tKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIGF1dG8qIHN1cHBsZW1l
bnQgPSBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JQZXJtaXNzaW9ucyo+KFN1cHBsZW1lbnQ8TmF2aWdh
dG9yPjo6ZnJvbSgmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpKSk7CisgICAgaWYgKCFzdXBw
bGVtZW50KSB7CisgICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9IG1ha2VVbmlxdWU8TmF2aWdh
dG9yUGVybWlzc2lvbnM+KG5hdmlnYXRvcik7CisgICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBw
bGVtZW50LmdldCgpOworICAgICAgICBwcm92aWRlVG8oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5h
bWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CisgICAgfQorCisgICAgcmV0dXJuIHN1cHBs
ZW1lbnQ7Cit9CisKK2NvbnN0IGNoYXIqIE5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50
TmFtZSgpCit7CisgICAgcmV0dXJuICJOYXZpZ2F0b3JQZXJtaXNzaW9ucyI7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MGE3MzlkYTcx
NDQwYzdhMzNiMjMyY2FlOTgzNTIwMTlmZGE0NDRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oCkBAIC0w
LDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlN1cHBs
ZW1lbnRhYmxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yOwor
Y2xhc3MgUGVybWlzc2lvbnM7CisKK2NsYXNzIE5hdmlnYXRvclBlcm1pc3Npb25zIGZpbmFsIDog
cHVibGljIFN1cHBsZW1lbnQ8TmF2aWdhdG9yPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CisgICAgZXhwbGljaXQgTmF2aWdhdG9yUGVybWlzc2lvbnMoTmF2aWdhdG9y
Jik7CisKKyAgICBzdGF0aWMgUmVmUHRyPFBlcm1pc3Npb25zPiBwZXJtaXNzaW9ucyhOYXZpZ2F0
b3ImKTsKKyAgICBSZWZQdHI8UGVybWlzc2lvbnM+IHBlcm1pc3Npb25zKCk7CisKK3ByaXZhdGU6
CisgICAgc3RhdGljIE5hdmlnYXRvclBlcm1pc3Npb25zKiBmcm9tKE5hdmlnYXRvciYpOworICAg
IHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOworCisgICAgUmVmUHRyPFBlcm1p
c3Npb25zPiBtX3Blcm1pc3Npb25zOworICAgIE5hdmlnYXRvciYgbV9uYXZpZ2F0b3I7Cit9Owor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25Db250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE3OWRmNDM5YTBmYzE5ZTYyZDczMWU0
YTYwMzI4MDUzMzQ3NjA4MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaApAQCAtMCwwICsxLDU0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJtaXNzaW9uT2JzZXJ2ZXIu
aCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdGUuaCIKKyNpbmNsdWRlIDx3dGYvQ29tcGxldGlv
bkhhbmRsZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQZXJtaXNzaW9uT2Jz
ZXJ2ZXI7CitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7CisKK2NsYXNzIFBlcm1pc3Npb25D
b250cm9sbGVyIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFBlcm1pc3Npb25Db250cm9sbGVyPiB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UGVy
bWlzc2lvbkNvbnRyb2xsZXIoKSA9IGRlZmF1bHQ7CisgICAgdmlydHVhbCBQZXJtaXNzaW9uU3Rh
dGUgcXVlcnkoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlwdG9yJiYpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgcmVxdWVzdChDbGllbnRPcmlnaW4mJiwgUGVybWlzc2lvbkRlc2NyaXB0
b3ImJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChQZXJtaXNzaW9uU3RhdGUpPiYmKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIGFkZE9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgcmVtb3ZlT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgPSAwOwor
fTsKKworY2xhc3MgRHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlciBmaW5hbCA6IHB1YmxpYyBQZXJt
aXNzaW9uQ29udHJvbGxlciB7CisgICAgUGVybWlzc2lvblN0YXRlIHF1ZXJ5KENsaWVudE9yaWdp
biYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmKSBmaW5hbCB7IHJldHVybiBQZXJtaXNzaW9uU3Rh
dGU6OkRlbmllZDsgfQorICAgIHZvaWQgcmVxdWVzdChDbGllbnRPcmlnaW4mJiwgUGVybWlzc2lv
bkRlc2NyaXB0b3ImJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChQZXJtaXNzaW9uU3RhdGUpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKSBmaW5hbCB7IGNvbXBsZXRpb25IYW5kbGVyKFBlcm1pc3Npb25T
dGF0ZTo6RGVuaWVkKTsgfQorICAgIHZvaWQgYWRkT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVy
JikgZmluYWwgeyB9CisgICAgdm9pZCByZW1vdmVPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXIm
KSBmaW5hbCB7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3Iu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40ZTg0YjJkNGM3N2E5OGU5NWI2NjQ5OGRjNGQwYjM4YTkwODllMWU1Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uRGVzY3JpcHRvci5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2luY2x1ZGUgIlBlcm1pc3Npb25OYW1lLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworc3RydWN0IFBlcm1pc3Npb25EZXNjcmlwdG9yIHsKKyAgICBQZXJtaXNzaW9uTmFtZSBu
YW1lOworCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFBlcm1pc3Npb25EZXNjcmlwdG9yJiBk
ZXNjcmlwdG9yKSBjb25zdCB7IHJldHVybiBuYW1lID09IGRlc2NyaXB0b3IubmFtZTsgfQorICAg
IHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAg
ICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxQZXJtaXNzaW9u
RGVzY3JpcHRvcj4gZGVjb2RlKERlY29kZXImKTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+IGlubGluZSB2b2lkIFBlcm1pc3Npb25EZXNjcmlwdG9yOjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IG5hbWU7Cit9CisKK3RlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0ZDo6b3B0aW9uYWw8UGVybWlzc2lvbkRlc2NyaXB0b3I+IFBlcm1pc3Npb25E
ZXNjcmlwdG9yOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBQZXJtaXNzaW9uRGVz
Y3JpcHRvciByZXN1bHQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubmFtZSkpCisg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRm
MzZhMzJhMmNjY2QzMzk5MzliN2RlODM1ZGZlZGJiZjRmNTdjYzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9y
LmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3Blcm1pc3Npb25zLyNkaWN0ZGVmLXBlcm1pc3Npb25kZXNjcmlwdG9yCisKK1sKKyAgICBF
bmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBkaWN0aW9uYXJ5IFBlcm1pc3Npb25E
ZXNjcmlwdG9yIHsKKyAgICByZXF1aXJlZCBQZXJtaXNzaW9uTmFtZSBuYW1lOworfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41Yzk5MzFmZDg0MzhkMzQzMDE2ZjExZDJlZTRjNTczOTNkYWQ4ZTEwCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uTmFtZS5oCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIFBlcm1pc3Npb25OYW1lIDogdWludDhf
dCB7CisgICAgQWNjZWxlcm9tZXRlciwKKyAgICBBbWJpZW50TGlnaHRTZW5zb3IsCisgICAgQmFj
a2dyb3VuZEZldGNoLAorICAgIEJhY2tncm91bmRTeW5jLAorICAgIEJsdWV0b290aCwKKyAgICBD
YW1lcmEsCisgICAgRGlzcGxheUNhcHR1cmUsCisgICAgR2VvbG9jYXRpb24sCisgICAgR3lyb3Nj
b3BlLAorICAgIE1hZ25ldG9tZXRlciwKKyAgICBNaWNyb3Bob25lLAorICAgIE1pZGksCisgICAg
TmZjLAorICAgIE5vdGlmaWNhdGlvbnMsCisgICAgUGVyc2lzdGVudFN0b3JhZ2UsCisgICAgUHVz
aCwKKyAgICBTY3JlZW5XYWtlTG9jaywKKyAgICBTcGVha2VyU2VsZWN0aW9uCit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVj
dCBFbnVtVHJhaXRzPFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lPiB7CisgICAgdXNpbmcgdmFsdWVz
ID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWUsCisgICAgICAg
IFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpBY2NlbGVyb21ldGVyLAorICAgICAgICBXZWJDb3Jl
OjpQZXJtaXNzaW9uTmFtZTo6QW1iaWVudExpZ2h0U2Vuc29yLAorICAgICAgICBXZWJDb3JlOjpQ
ZXJtaXNzaW9uTmFtZTo6QmFja2dyb3VuZEZldGNoLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNz
aW9uTmFtZTo6QmFja2dyb3VuZFN5bmMsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1l
OjpCbHVldG9vdGgsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpDYW1lcmEsCisg
ICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpEaXNwbGF5Q2FwdHVyZSwKKyAgICAgICAg
V2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Okdlb2xvY2F0aW9uLAorICAgICAgICBXZWJDb3JlOjpQ
ZXJtaXNzaW9uTmFtZTo6R3lyb3Njb3BlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFt
ZTo6TWFnbmV0b21ldGVyLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6TWljcm9w
aG9uZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok1pZGksCisgICAgICAgIFdl
YkNvcmU6OlBlcm1pc3Npb25OYW1lOjpOZmMsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25O
YW1lOjpOb3RpZmljYXRpb25zLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6UGVy
c2lzdGVudFN0b3JhZ2UsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpQdXNoLAor
ICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6U2NyZWVuV2FrZUxvY2ssCisgICAgICAg
IFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpTcGVha2VyU2VsZWN0aW9uCisgICAgPjsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kM2FjZGYyOGM2NDIxMTBl
YjYxMGZlOWU5ODdiNmJlNjdkZGRhNjIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwKQEAgLTAsMCArMSw0OSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jZW51
bWRlZi1wZXJtaXNzaW9ubmFtZQorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9u
c0FQSSwKK10gZW51bSBQZXJtaXNzaW9uTmFtZSB7CisgICAgImFjY2VsZXJvbWV0ZXIiLAorICAg
ICJhbWJpZW50LWxpZ2h0LXNlbnNvciIsCisgICAgImJhY2tncm91bmQtZmV0Y2giLAorICAgICJi
YWNrZ3JvdW5kLXN5bmMiLAorICAgICJibHVldG9vdGgiLAorICAgICJjYW1lcmEiLAorICAgICJk
aXNwbGF5LWNhcHR1cmUiLAorICAgICJnZW9sb2NhdGlvbiIsCisgICAgImd5cm9zY29wZSIsCisg
ICAgIm1hZ25ldG9tZXRlciIsCisgICAgIm1pY3JvcGhvbmUiLAorICAgICJtaWRpIiwKKyAgICAi
bmZjIiwKKyAgICAibm90aWZpY2F0aW9ucyIsCisgICAgInBlcnNpc3RlbnQtc3RvcmFnZSIsCisg
ICAgInB1c2giLAorICAgICJzY3JlZW4td2FrZS1sb2NrIiwKKyAgICAic3BlYWtlci1zZWxlY3Rp
b24iCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbk9ic2VydmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTU5OTgzYzZhYmYwNzA5ZDRjMDg5OGJm
YjY1ZmMwZDIxYWVmNzRlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk9ic2VydmVyLmgKQEAgLTAsMCArMSw0NSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCisjaW5j
bHVkZSAiUGVybWlzc2lvblN0YXRlLmgiCisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7CisKK2NsYXNz
IFBlcm1pc3Npb25PYnNlcnZlciA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQZXJtaXNzaW9uT2Jz
ZXJ2ZXI+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJtaXNzaW9uT2JzZXJ2ZXIoKSA9IGRl
ZmF1bHQ7CisKKyAgICB2aXJ0dWFsIHZvaWQgc3RhdGVDaGFuZ2VkKFBlcm1pc3Npb25TdGF0ZSkg
PSAwOworICAgIHZpcnR1YWwgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4oKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCBjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNv
bnN0ID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmVjYWRmNTIwMWUwYzM3YjMwZjRiNzJlYTA4MDQwODU4NGI4ODg0ODQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5o
CkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
PHd0Zi9FbnVtVHJhaXRzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBQ
ZXJtaXNzaW9uU3RhdGUgOiB1aW50OF90IHsKKyAgICBHcmFudGVkLAorICAgIERlbmllZCwKKyAg
ICBQcm9tcHQKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7
CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6UGVybWlzc2lvblN0YXRl
PiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXRlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkdyYW50ZWQs
CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkLAorICAgICAgICBXZWJD
b3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdAorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvblN0YXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvblN0YXRlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTc3OTc4MTJkMTk4NjllZjNlNTFhMmRiOWVh
OGE3YWYxNjhhYzliCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1kZWYtcGVybWlz
c2lvbnN0YXRlCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBl
bnVtIFBlcm1pc3Npb25TdGF0ZSB7CisgICAgImdyYW50ZWQiLAorICAgICJkZW5pZWQiLAorICAg
ICJwcm9tcHQiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTgzYjM0MTY5YzNlNDhlZWRl
NjQ0N2Y4NmQ4Njk4NzIxODNjMDNkOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKQEAgLTAsMCArMSw4MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9u
U3RhdHVzLmgiCisKKyNpbmNsdWRlICJDbGllbnRPcmlnaW4uaCIKKyNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVy
LmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUGVybWlzc2lvblN0YXR1cyk7CisK
K1JlZjxQZXJtaXNzaW9uU3RhdHVzPiBQZXJtaXNzaW9uU3RhdHVzOjpjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgY29udGV4dCwgUGVybWlzc2lvblN0YXRlIHN0YXRlLCBQZXJtaXNzaW9u
RGVzY3JpcHRvciBkZXNjcmlwdG9yKQoreworICAgIGF1dG8gc3RhdHVzID0gYWRvcHRSZWYoKm5l
dyBQZXJtaXNzaW9uU3RhdHVzKGNvbnRleHQsIHN0YXRlLCBkZXNjcmlwdG9yKSk7CisgICAgc3Rh
dHVzLT5zdXNwZW5kSWZOZWVkZWQoKTsKKyAgICByZXR1cm4gc3RhdHVzOworfQorCitQZXJtaXNz
aW9uU3RhdHVzOjpQZXJtaXNzaW9uU3RhdHVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSwgUGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRv
cikKKyAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKKyAgICAsIG1fc3RhdGUoc3RhdGUp
CisgICAgLCBtX2Rlc2NyaXB0b3IoZGVzY3JpcHRvcikKK3sKKyAgICBpZiAoaXM8RG9jdW1lbnQ+
KGNvbnRleHQpKSB7CisgICAgICAgIGlmIChhdXRvIHBhZ2UgPSBkb3duY2FzdDxEb2N1bWVudD4o
KnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkucGFnZSgpKSB7CisgICAgICAgICAgICBtX2NvbnRy
b2xsZXIgPSBtYWtlV2Vha1B0cihwYWdlLT5wZXJtaXNzaW9uQ29udHJvbGxlcigpKTsKKyAgICAg
ICAgICAgIG1fY29udHJvbGxlci0+YWRkT2JzZXJ2ZXIoKnRoaXMpOworICAgICAgICB9CisgICAg
fQorCisgICAgYXV0byogb3JpZ2luID0gY29udGV4dC5zZWN1cml0eU9yaWdpbigpOworICAgIGF1
dG8gb3JpZ2luRGF0YSA9IG9yaWdpbiA/IG9yaWdpbi0+ZGF0YSgpIDogU2VjdXJpdHlPcmlnaW5E
YXRhIHsgfTsKKyAgICBtX29yaWdpbiA9IENsaWVudE9yaWdpbiB7IGNvbnRleHQudG9wT3JpZ2lu
KCkuZGF0YSgpLCBvcmlnaW5EYXRhIH07Cit9CisKK1Blcm1pc3Npb25TdGF0dXM6On5QZXJtaXNz
aW9uU3RhdHVzKCkKK3sKKyAgICBpZiAobV9jb250cm9sbGVyKQorICAgICAgICBtX2NvbnRyb2xs
ZXItPnJlbW92ZU9ic2VydmVyKCp0aGlzKTsKK30KKwordm9pZCBQZXJtaXNzaW9uU3RhdHVzOjpz
dGF0ZUNoYW5nZWQoUGVybWlzc2lvblN0YXRlIG5ld1N0YXRlKQoreworICAgIGlmIChtX3N0YXRl
ICE9IG5ld1N0YXRlKQorICAgICAgICBxdWV1ZVRhc2tUb0Rpc3BhdGNoRXZlbnQoKnRoaXMsIFRh
c2tTb3VyY2U6OlBlcm1pc3Npb24sIEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNoYW5nZUV2
ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKK30K
KworY29uc3QgY2hhciogUGVybWlzc2lvblN0YXR1czo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuICJQZXJtaXNzaW9uU3RhdHVzIjsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uU3RhdHVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25TdGF0dXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNzFlN2E0MjFjZWFlMzI3YjU5YzE4NTQ4
YTdkYTcxNDM2NWQxM2ViCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmgKQEAgLTAsMCArMSw3OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5j
bHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uRGVzY3JpcHRvci5oIgor
I2luY2x1ZGUgIlBlcm1pc3Npb25OYW1lLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbk9ic2VydmVy
LmgiCisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXI7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OworCitjbGFzcyBQZXJtaXNzaW9uU3RhdHVzIGZpbmFsIDogcHVibGljIFBlcm1pc3Npb25P
YnNlcnZlciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIFJlZkNvdW50ZWQ8UGVybWlz
c2lvblN0YXR1cz4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhICB7CisgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChQZXJtaXNzaW9uU3RhdHVzKTsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUmVmPFBlcm1pc3Npb25TdGF0dXM+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwg
UGVybWlzc2lvblN0YXRlLCBQZXJtaXNzaW9uRGVzY3JpcHRvcik7CisgICAgflBlcm1pc3Npb25T
dGF0dXMoKTsKKworICAgIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
c3RhdGU7IH0KKyAgICBQZXJtaXNzaW9uTmFtZSBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kZXNj
cmlwdG9yLm5hbWU7IH0KKworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKKyAgICB1c2luZyBS
ZWZDb3VudGVkOjpkZXJlZjsKKworICAgIHVzaW5nIFBlcm1pc3Npb25PYnNlcnZlcjo6d2Vha1B0
ckZhY3Rvcnk7CisgICAgdXNpbmcgV2Vha1ZhbHVlVHlwZSA9IFBlcm1pc3Npb25PYnNlcnZlcjo6
V2Vha1ZhbHVlVHlwZTsKKworcHJpdmF0ZToKKyAgICBQZXJtaXNzaW9uU3RhdHVzKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBQZXJtaXNzaW9uU3RhdGUsIFBlcm1pc3Npb25EZXNjcmlwdG9yKTsK
KworICAgIC8vIFBlcm1pc3Npb25PYnNlcnZlcgorICAgIHZvaWQgc3RhdGVDaGFuZ2VkKFBlcm1p
c3Npb25TdGF0ZSkgZmluYWw7CisgICAgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4oKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX29yaWdpbjsgfQorICAgIGNvbnN0IFBlcm1pc3Npb25EZXNjcmlw
dG9yJiBkZXNjcmlwdG9yKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9kZXNjcmlwdG9yOyB9CisK
KyAgICAvLyBBY3RpdmVET01PYmplY3QKKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3RO
YW1lKCkgY29uc3QgZmluYWw7CisKKyAgICAvLyBFdmVudFRhcmdldAorICAgIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBBY3RpdmVET01PYmplY3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQorICAgIEV2ZW50
VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gUGVybWlzc2lvblN0YXR1c0V2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQorICAgIHZvaWQg
cmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJlZkV2ZW50VGFy
Z2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CisKKyAgICBQZXJtaXNzaW9uU3RhdGUgbV9zdGF0ZTsK
KyAgICBQZXJtaXNzaW9uRGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7CisgICAgQ2xpZW50T3JpZ2lu
IG1fb3JpZ2luOworICAgIFdlYWtQdHI8UGVybWlzc2lvbkNvbnRyb2xsZXI+IG1fY29udHJvbGxl
cjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmRiNzgxNDJlNjk5ZTIwZTZiZTg2Y2M1Y2UyMDU2ZDFkZWI2OTJlZDAKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworIAorLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3Blcm1pc3Npb25zLyNwZXJtaXNzaW9uc3RhdHVzCisKK1sKKyAgICBBY3RpdmVET01PYmpl
Y3QsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKKyAgICBFeHBvc2VkPShX
aW5kb3csV29ya2VyKQorXSBpbnRlcmZhY2UgUGVybWlzc2lvblN0YXR1cyA6IEV2ZW50VGFyZ2V0
IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgUGVybWlzc2lvblN0YXRlIHN0YXRlOworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBQZXJtaXNzaW9uTmFtZSBuYW1lOworICAgIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25jaGFuZ2U7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZGRiNmJmNTJlMDZkNTIzY2Fi
MzRlOWQxN2RkMTg0ZTYxZTNmODYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAKQEAgLTAsMCArMSw5MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9ucy5oIgor
CisjaW5jbHVkZSAiRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJK
U0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIkpTUGVybWlzc2lvbkRlc2NyaXB0b3Iu
aCIKKyNpbmNsdWRlICJKU1Blcm1pc3Npb25TdGF0dXMuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3Iu
aCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIK
KyNpbmNsdWRlICJQZXJtaXNzaW9uRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxs
b2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9D
QVRFRF9JTVBMKFBlcm1pc3Npb25zKTsKKworUmVmPFBlcm1pc3Npb25zPiBQZXJtaXNzaW9uczo6
Y3JlYXRlKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFBlcm1pc3Npb25zKG5hdmlnYXRvcikpOworfQorCitQZXJtaXNzaW9uczo6UGVybWlzc2lvbnMo
TmF2aWdhdG9yJiBuYXZpZ2F0b3IpCisgICAgOiBtX25hdmlnYXRvcihtYWtlV2Vha1B0cihuYXZp
Z2F0b3IpKQoreworfQorCitOYXZpZ2F0b3IqIFBlcm1pc3Npb25zOjpuYXZpZ2F0b3IoKQorewor
ICAgIHJldHVybiBtX25hdmlnYXRvci5nZXQoKTsKK30KKwordm9pZCBQZXJtaXNzaW9uczo6cXVl
cnkoSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4gcGVybWlzc2lvbkRlc2NyaXB0b3JWYWx1ZSwg
RE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQZXJtaXNzaW9uU3RhdHVzPj4mJiBwcm9t
aXNlKQoreworICAgIGF1dG8gY29udGV4dCA9IG1fbmF2aWdhdG9yID8gbV9uYXZpZ2F0b3ItPnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSA6IG51bGxwdHI7CisgICAgaWYgKCFjb250ZXh0IHx8ICFj
b250ZXh0LT5nbG9iYWxPYmplY3QoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRp
b24geyBJbnZhbGlkU3RhdGVFcnJvciB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IEpTQzo6Vk0mIHZtID0gY29udGV4dC0+Z2xvYmFsT2JqZWN0KCktPnZtKCk7CisgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIGlmICghcGVybWlzc2lvbkRlc2Ny
aXB0b3JWYWx1ZSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBEYXRhRXJy
b3IsICJUaGUgcGFyYW1ldGVyIGlzIGludmFsaWQiX3MgfSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBhdXRvIHBhcmFtZXRlckRlc2NyaXB0b3IgPSBjb252ZXJ0PElETERpY3Rpb25h
cnk8UGVybWlzc2lvbkRlc2NyaXB0b3I+PigqY29udGV4dC0+Z2xvYmFsT2JqZWN0KCksIHBlcm1p
c3Npb25EZXNjcmlwdG9yVmFsdWUuZ2V0KCkpOworICAgIGlmIChVTkxJS0VMWShzY29wZS5leGNl
cHRpb24oKSkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgRXhpc3RpbmdF
eGNlcHRpb25FcnJvciB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8qIGZy
YW1lID0gbV9uYXZpZ2F0b3ItPmZyYW1lKCk7CisgICAgYXV0byogZG9jdW1lbnQgPSBmcmFtZT8g
ZnJhbWUtPmRvY3VtZW50KCkgOiBudWxscHRyOworICAgIGF1dG8qIHBhZ2UgPSBmcmFtZT8gZnJh
bWUtPnBhZ2UoKSA6IG51bGxwdHI7CisgICAgaWYgKCFmcmFtZSB8fCAhZG9jdW1lbnQgfHwgIXBh
Z2UpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJy
b3IgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIHBlcm1pc3Npb25TdGF0
ZSA9IHBhZ2UtPnBlcm1pc3Npb25Db250cm9sbGVyKCkucXVlcnkoQ2xpZW50T3JpZ2luIHsgZG9j
dW1lbnQtPnRvcE9yaWdpbigpLmRhdGEoKSwgZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkuZGF0
YSgpIH0sIFBlcm1pc3Npb25EZXNjcmlwdG9yIHsgcGFyYW1ldGVyRGVzY3JpcHRvciB9KTsKKyAg
ICBwcm9taXNlLnJlc29sdmUoUGVybWlzc2lvblN0YXR1czo6Y3JlYXRlKCpjb250ZXh0LCBwZXJt
aXNzaW9uU3RhdGUsIHBhcmFtZXRlckRlc2NyaXB0b3IpKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9ucy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyZTg5NTdhZjExOGNjNjY0ZGRiNmM0YjU3NGQ2ZDI0Yzc1YzRm
YTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25zLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJv
bmcuaD4KKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIu
aD4KKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBKU09iamVjdDsKK30gLy8gbmFtZXNwYWNlIEpT
QworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmlnYXRvcjsKK2NsYXNzIFBlcm1p
c3Npb25TdGF0dXM7CisKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21p
c2VEZWZlcnJlZDsKKworY2xhc3MgUGVybWlzc2lvbnMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRl
ZDxQZXJtaXNzaW9ucz4geworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUGVybWlzc2lvbnMp
OworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UGVybWlzc2lvbnM+IGNyZWF0ZShOYXZpZ2F0b3Im
KTsKKworICAgIE5hdmlnYXRvciogbmF2aWdhdG9yKCk7CisgICAgdm9pZCBxdWVyeShKU0M6OlN0
cm9uZzxKU0M6OkpTT2JqZWN0PiwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQZXJt
aXNzaW9uU3RhdHVzPj4mJik7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgUGVybWlzc2lvbnMo
TmF2aWdhdG9yJik7CisKKyAgICBXZWFrUHRyPE5hdmlnYXRvcj4gbV9uYXZpZ2F0b3I7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2OGFhNjEyYTUwN2IzODA1
NDBhNjcwYmU2NDVhYjY2ZWY0MzgxZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbApAQCAtMCwwICsxLDM1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNwZXJtaXNz
aW9ucy1pbnRlcmZhY2UKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEks
CisgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVGcm9tTmF2aWdhdG9yLAorICAgIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKK10g
aW50ZXJmYWNlIFBlcm1pc3Npb25zIHsKKyAgICBQcm9taXNlPFBlcm1pc3Npb25TdGF0dXM+IHF1
ZXJ5KG9iamVjdCBwZXJtaXNzaW9uRGVzYyk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA2ZDU5ZGMz
ZmQ4Nzg0YWMzNTc2MGFkZGY1ZDkyMDU4ZDI1ODRkMDdiLi44OTEwNTQ5NzMxOWE2YjA0ZTE4ZmU1
MmU0NTFlZDRlZTlhNGYxNTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMjAzLDYgKzIwMyw5IEBAIE1v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCiBNb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L1BheW1lbnRSZXF1ZXN0VXRpbGl0aWVzLmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50UmVzcG9uc2UuY3BwCitNb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Np
b25zLmNwcAorTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcAorTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9E
b2N1bWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50
ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvSFRN
TFZpZGVvRWxlbWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCkBAIC0zMjcyLDYgKzMyNzUsMTEgQEAg
SlNQZXJmb3JtYW5jZVRpbWluZy5jcHAKIEpTUGVyaW9kaWNXYXZlLmNwcAogSlNQZXJpb2RpY1dh
dmVDb25zdHJhaW50cy5jcHAKIEpTUGVyaW9kaWNXYXZlT3B0aW9ucy5jcHAKK0pTUGVybWlzc2lv
bkRlc2NyaXB0b3IuY3BwCitKU1Blcm1pc3Npb25OYW1lLmNwcAorSlNQZXJtaXNzaW9uU3RhdGUu
Y3BwCitKU1Blcm1pc3Npb25TdGF0dXMuY3BwCitKU1Blcm1pc3Npb25zLmNwcAogSlNQaWN0dXJl
SW5QaWN0dXJlV2luZG93LmNwcAogSlNQbGF5YmFja0RpcmVjdGlvbi5jcHAKIEpTUG9pbnRlckV2
ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGQwYWEwZThkMmI5YjkxMDczYjk4M2E2OGNmNTlmN2U2NmEyYTUzNzUuLjM2
YWRlZWQ0OWQxMGY4N2E2MTgxZDgzMjgzZWI4NzY0ODQ4YWRkZGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI4ODAsNiArMjg4
MCwxNCBAQAogCQk5M0E4MDYxNzFFMDNCNTFDMDA4QTFGMjYgLyogTG9uZ1JhbmdlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4MDYxMzFFMDNCNTFD
MDA4QTFGMjYgLyogTG9uZ1JhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJOTNBODA2MUUxRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFu
Z2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTgw
NjFBMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJhbmdlLmggKi87IH07CiAJCTkzQTgwNjIw
MUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBODA2MUMxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9u
Z1JhbmdlLmggKi87IH07CisJCTkzQjBBNjUzMjZDREQxNDEwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQ
ZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTNCMEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi87
IH07CisJCTkzQjBBNjU0MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NEIyNkNERDEzRTAw
QUEyMUU0IC8qIFBlcm1pc3Npb25zLmggKi87IH07CisJCTkzQjBBNjU2MjZDREQxNDEwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5M0IwQTY0RDI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1
cy5oICovOyB9OworCQk5M0IwQTY1NzI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2Ny
aXB0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
QjBBNjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjU5MjZDREQx
NDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NTAyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Np
b25OYW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJOTNCMEE2NUIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NTIyNkNERDE0MTAw
QUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjcwMjZENEI1MzkwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNCMEE2NjkyNkQ0NEI3RjAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNCMEE2
N0EyNkQ2QTRFOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NkYyNkQ0QjUyOTAwQUEyMUU0
IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTkzQjJEODE2MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJt
aW5hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNCMzhFQzMyNTgyMURC
NDAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IzOEVCQTI1ODIxOTNCMDAxOThFNjMgLyog
V2ViU3BlZWNoUmVjb2duaXplclRhc2suaCAqLzsgfTsKIAkJOTNCMzhFQzQyNTgyMURCNzAwMTk4
RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMzhFQkIyNTgyMTkzRDAwMTk4RTYzIC8qIFdl
YlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oICovOyB9OwpAQCAtMTE3MDEsNiArMTE3MDksMjMg
QEAKIAkJOTNBODA2MUExRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEb3VibGVSYW5nZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5M0E4MDYxQjFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNMb25nUmFuZ2UuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0E4MDYxQzFFMDNCNTg1MDA4QTFGMjYg
LyogSlNMb25nUmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNMb25n
UmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDQyNkNEQzVCNjAw
QUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVy
bWlzc2lvblN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDUy
NkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTkzQjBBNjQ2MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvbk5hbWUuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk5M0IwQTY0NzI2Q0RDNUI3MDBBQTIxRTQgLyogTmF2aWdhdG9yK1Bl
cm1pc3Npb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiTmF2aWdhdG9yK1Blcm1pc3Np
b25zLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ4MjZDREM1Qjcw
MEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlz
c2lvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0OTI2Q0RDNUI4
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
UGVybWlzc2lvblN0YXR1cy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBB
NjRBMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0QjI2Q0REMTNFMDBBQTIxRTQgLyogUGVybWlzc2lv
bnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbnMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEMyNkNERDEzRTAwQUEyMUU0IC8qIE5h
dmlnYXRvclBlcm1pc3Npb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0RTI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lv
bkRlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lv
bkRlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEYyNkNE
RDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTkzQjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uTmFtZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MTI2Q0REMTQwMDBBQTIxRTQgLyogUGVy
bWlzc2lvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVybWlz
c2lvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MjI2Q0REMTQx
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBlcm1pc3Npb25TdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
M0IwQTY2OTI2RDQ0QjdGMDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGVybWlzc2lvbkNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTNCMEE2NkYyNkQ0QjUyOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN1ZGRlblRlcm1pbmF0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjJEODE3MEY5OTIwRUUwMDZBRTZCMiAvKiBT
dWRkZW5UZXJtaW5hdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFN1ZGRlblRlcm1pbmF0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
M0IzOEVCODI1ODIxODk5MDAxOThFNjMgLyogU3BlZWNoUmVjb2duaXplckNvY29hLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3BlZWNoUmVjb2duaXplckNvY29h
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjMxODUsNiArMjMyMTAsMzAgQEAK
IAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk5M0Iw
QTY0MjI2Q0RDNTc0MDBBQTIxRTQgLyogcGVybWlzc2lvbnMgKi8gPSB7CisJCQlpc2EgPSBQQlhH
cm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTkzQjBBNjQ3MjZDREM1QjcwMEFBMjFFNCAvKiBO
YXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsICovLAorCQkJCTkzQjBBNjRDMjZDREQxM0UwMEFBMjFF
NCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAgKi8sCisJCQkJOTNCMEE2NEEyNkNERDEzRTAw
QUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi8sCisJCQkJOTNCMEE2NjkyNkQ0NEI3
RjAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggKi8sCisJCQkJOTNCMEE2NEUyNkNE
RDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggKi8sCisJCQkJOTNCMEE2NDUy
NkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbCAqLywKKwkJCQk5M0Iw
QTY1MDI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCAqLywKKwkJCQk5M0IwQTY0
NjI2Q0RDNUI3MDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaWRsICovLAorCQkJCTkzQjBBNjZG
MjZENEI1MjkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCAqLywKKwkJCQk5M0IwQTY1
MTI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuY3BwICovLAorCQkJCTkzQjBBNjRCMjZD
REQxM0UwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oICovLAorCQkJCTkzQjBBNjQ4MjZDREM1Qjcw
MEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5pZGwgKi8sCisJCQkJOTNCMEE2NTIyNkNERDE0MTAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oICovLAorCQkJCTkzQjBBNjQ0MjZDREM1QjYwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdGUuaWRsICovLAorCQkJCTkzQjBBNjRGMjZDREQxNDAwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdHVzLmNwcCAqLywKKwkJCQk5M0IwQTY0RDI2Q0REMTNGMDBBQTIx
RTQgLyogUGVybWlzc2lvblN0YXR1cy5oICovLAorCQkJCTkzQjBBNjQ5MjZDREM1QjgwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdHVzLmlkbCAqLywKKwkJCSk7CisJCQlwYXRoID0gcGVybWlzc2lv
bnM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk5M0IzOEVCNjI1ODIxODMz
MDAxOThFNjMgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKApAQCAtMjM3OTAsNiArMjM4MzksNyBAQAogCQkJCTcxRDZBQTM5MURBNEVBRjcwMEIyMzk2
OSAvKiBtb2Rlcm4tbWVkaWEtY29udHJvbHMgKi8sCiAJCQkJMzMzRjcwM0QwRkI0OUMxNjAwOEUx
MkE2IC8qIG5vdGlmaWNhdGlvbnMgKi8sCiAJCQkJQTFGNzZCMEUxRjQ0QzBDRjAwMTRDMzE4IC8q
IHBheW1lbnRyZXF1ZXN0ICovLAorCQkJCTkzQjBBNjQyMjZDREM1NzQwMEFBMjFFNCAvKiBwZXJt
aXNzaW9ucyAqLywKIAkJCQkxREVGMDZBMjIzM0MzMkRCMDBFRTIyOEQgLyogcGljdHVyZWlucGlj
dHVyZSAqLywKIAkJCQkwNzJBRTFERTE4M0MwNTEzMDAwQTU5ODggLyogcGx1Z2lucyAqLywKIAkJ
CQlDREMzMTJFMDIyRkNEMEIwMDAxMjA0RUMgLyogcmVtb3RlcGxheWJhY2sgKi8sCkBAIC0zMzc1
Nyw2ICszMzgwNyw3IEBACiAJCQkJNkI1MDdBMjQyMzRCRjM0MTAwQkU3QzYyIC8qIE5hdmlnYXRv
cklzTG9nZ2VkSW4uaCBpbiBIZWFkZXJzICovLAogCQkJCTVFQTcyNUQ2MUFDQUJENTcwMEVBRDE3
QiAvKiBOYXZpZ2F0b3JNZWRpYURldmljZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3N0JBNTcy
MjYwRkEwMTQwMDcyRjE5RiAvKiBOYXZpZ2F0b3JNZWRpYVNlc3Npb24uaCBpbiBIZWFkZXJzICov
LAorCQkJCTkzQjBBNjUzMjZDREQxNDEwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTk2RTU5REYxREYwMTI4RDAwNjYxMkI5IC8qIE5hdmlnYXRv
cldlYkRyaXZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCNzgyNDEzMTkxRjAwRTc5NEQ2
IC8qIE5hdmlnYXRvcldlYlhSLmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTMwOUM5RjEyMzk1MEJF
MDBDQjkyMDQgLyogTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCBpbiBIZWFkZXJzICovLApAQCAt
MzM5NTYsNiArMzQwMDcsMTMgQEAKIAkJCQlGRDU4MUZCNTE1MjBGOTNCMDAzQTdBNzUgLyogUGVy
aW9kaWNXYXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNzU1RTg5MjI0Qzc0MzRCMDA5RjdDMjMg
LyogUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUU3NTVFODk5
MjRDNzQ2MUQwMDlGN0MyMyAvKiBQZXJpb2RpY1dhdmVPcHRpb25zLmggaW4gSGVhZGVycyAqLywK
KwkJCQk5M0IwQTY3MDI2RDRCNTM5MDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTkzQjBBNjU3MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
RGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTkyNkNERDE0MTAwQUEyMUU0
IC8qIFBlcm1pc3Npb25OYW1lLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY3QTI2RDZBNEU5
MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0Iw
QTY1NDI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTkzQjBBNjVCMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTkzQjBBNjU2MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0OUQ1REMyRTBGNDIzQTczMDA4RjIwRkQgLyogUGVyc3BlY3Rp
dmVUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTFEQkMxQjU2MjM0N0Iz
RDIwMEI5MDFBRiAvKiBQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFEMkM4MkI3MjM2QTNGNkEwMDU1RDZDNSAvKiBQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5o
IGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
ZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmgKaW5kZXggZjE4MWM3OTZkNjUwY2M4NmZlM2YwOGE3MjAwN2E2ZWRjMmVm
YmM3OC4uODUxYTIxNGM5YTQ4N2ZmNjhkMTZiZTdkZDhmYmI1MjA4ODdlYjkxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMTU0
LDYgKzE1NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhNb2NrUlRDUnRwVHJh
bnNmb3JtKSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yQ3JlZGVudGlhbHMpIFwKICAgICBtYWNybyhO
YXZpZ2F0b3JNZWRpYURldmljZXMpIFwKKyAgICBtYWNybyhOYXZpZ2F0b3JQZXJtaXNzaW9ucykg
XAogICAgIG1hY3JvKE5hdmlnYXRvclVzZXJNZWRpYSkgXAogICAgIG1hY3JvKE9mZmxpbmVBdWRp
b0NvbnRleHQpIFwKICAgICBtYWNybyhPZmZzY3JlZW5DYW52YXMpIFwKQEAgLTE4Miw2ICsxODMs
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWlu
ZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQ
ZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAorICAgIG1hY3JvKFBlcm1pc3Npb25EZXNjcmlwdG9y
KSBcCisgICAgbWFjcm8oUGVybWlzc2lvblN0YXR1cykgXAorICAgIG1hY3JvKFBlcm1pc3Npb25z
KSBcCiAgICAgbWFjcm8oUG9pbnRlckV2ZW50KSBcCiAgICAgbWFjcm8oUHVibGljS2V5Q3JlZGVu
dGlhbCkgXAogICAgIG1hY3JvKFJlc2l6ZU9ic2VydmVyKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCA1ZTU4ZjExMTY2N2VmNjIxMGQ1MzExMGQ3YjU0YTgw
MmM4NDM5NWQ4Li4wMTNjZWQwOTQ2ZmZjZDUyNTlmYTI1MGIxNjAzYTE4ZTQ1OWU0NTk5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTM1LDYgKzM1LDcgQEAg
T2Zmc2NyZWVuQ2FudmFzIGNvbmRpdGlvbmFsPU9GRlNDUkVFTl9DQU5WQVMKIFBheW1lbnRSZXF1
ZXN0IGNvbmRpdGlvbmFsPVBBWU1FTlRfUkVRVUVTVAogUGF5bWVudFJlc3BvbnNlIGNvbmRpdGlv
bmFsPVBBWU1FTlRfUkVRVUVTVAogUGVyZm9ybWFuY2UKK1Blcm1pc3Npb25TdGF0dXMKIFBpY3R1
cmVJblBpY3R1cmVXaW5kb3cgY29uZGl0aW9uYWw9UElDVFVSRV9JTl9QSUNUVVJFX0FQSQogUmVt
b3RlUGxheWJhY2sgY29uZGl0aW9uYWw9V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUCiBSVENEYXRh
Q2hhbm5lbCBjb25kaXRpb25hbD1XRUJfUlRDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vVGFza1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaAppbmRleCA3
MTMzZjY3OGVhMmQ5OTI2OTUxNjAyMDg2NGVmMTNkNGYzZWZkMzk4Li4yZGE0N2JhZDZjNzNhNmJh
NWJmMjgzYjhkMzUyZjQwZDIxYWYwMTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
VGFza1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UYXNrU291cmNlLmgKQEAgLTM5
LDYgKzM5LDcgQEAgZW51bSBjbGFzcyBUYXNrU291cmNlIDogdWludDhfdCB7CiAgICAgTWljcm90
YXNrLAogICAgIE5ldHdvcmtpbmcsCiAgICAgUGVyZm9ybWFuY2VUaW1lbGluZSwKKyAgICBQZXJt
aXNzaW9uLAogICAgIFBvc3RlZE1lc3NhZ2VRdWV1ZSwKICAgICBTcGVlY2gsCiAgICAgVXNlcklu
dGVyYWN0aW9uLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCA5NjRl
MmRkMTIwNzAzMzFhNjVjYTM0MWFjNzBlNGIyODc0MjAwYTBkLi41NWNjNDZlMjU5MTg0NjlmMzFk
NTZjMDQ5NmU0M2RkNTVlY2ZkNWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmNwcApAQCAtNjMsNiArNjMsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdl
Q29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oIgor
I2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGx1Z2luSW5mb1By
b3ZpZGVyLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW5EYXRhLmgiCkBAIC0xMTkzLDcgKzExOTQsOCBAQCBQYWdlQ29uZmlndXJh
dGlvbiBwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMoUEFMOjpTZXNzaW9uSUQgc2Vz
c2lvbklEKQogICAgICAgICBtYWtlVW5pcXVlUmVmPEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ+KCks
CiAgICAgICAgIG1ha2VVbmlxdWVSZWY8RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigp
LAogICAgICAgICBtYWtlVW5pcXVlUmVmPEVtcHR5TWVkaWFSZWNvcmRlclByb3ZpZGVyPigpLAot
ICAgICAgICBFbXB0eUJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Y3JlYXRlKCkKKyAgICAgICAg
RW1wdHlCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmNyZWF0ZSgpLAorICAgICAgICBtYWtlVW5p
cXVlUmVmPER1bW15UGVybWlzc2lvbkNvbnRyb2xsZXI+KCkKICAgICB9OwogCiAgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPEVtcHR5Q2hyb21lQ2xpZW50PiBkdW1teUNocm9tZUNsaWVudDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwCmluZGV4IGVlZTY4Yjc3ZTFlNWZjZTFlNTljMzI5NDM0YTlhODYwMGIzNjk3
MTAuLjg2MTA3OGJhMGJmNjE4M2I3NzExNDVhNzRiNDFiZTA3ZDdiMDU2MmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcApAQCAtOTksNiArOTksNyBAQAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTG9nZ2luZy5o
IgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oIgogI2luY2x1ZGUgIlBlcmZv
cm1hbmNlTW9uaXRvci5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1T
Y3JlZW4uaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKQEAgLTMyNSw2ICszMjYs
NyBAQCBQYWdlOjpQYWdlKFBhZ2VDb25maWd1cmF0aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAg
ICAgLCBtX2xvYWRzU3VicmVzb3VyY2VzKHBhZ2VDb25maWd1cmF0aW9uLmxvYWRzU3VicmVzb3Vy
Y2VzKQogICAgICwgbV9zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZyhwYWdlQ29u
ZmlndXJhdGlvbi5zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZykKICAgICAsIG1f
aHR0cHNVcGdyYWRlRW5hYmxlZChwYWdlQ29uZmlndXJhdGlvbi5odHRwc1VwZ3JhZGVFbmFibGVk
KQorICAgICwgbV9wZXJtaXNzaW9uQ29udHJvbGxlcihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9u
LnBlcm1pc3Npb25Db250cm9sbGVyKSkKIHsKICAgICB1cGRhdGVUaW1lclRocm90dGxpbmdTdGF0
ZSgpOwogCkBAIC0zNjkzLDQgKzM2OTUsOSBAQCB2b2lkIFBhZ2U6OnJlc2V0VGV4dFJlY29nbml0
aW9uUmVzdWx0cygpCiAKICNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKK1Blcm1p
c3Npb25Db250cm9sbGVyJiBQYWdlOjpwZXJtaXNzaW9uQ29udHJvbGxlcigpCit7CisgICAgcmV0
dXJuIG1fcGVybWlzc2lvbkNvbnRyb2xsZXIuZ2V0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggOTI1NWJmMzEzYzY3ZDcxNDgxNWNmNzgxNTI2NmZmZDgw
NWIyMmY2MC4uM2IxZTI2OTA1NTZkZDRmM2QxN2E4ZWI4NWYyNGQwMDQwODg3NDM3NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKQEAgLTEzMSw2ICsxMzEsNyBAQCBjbGFzcyBQYXltZW50Q29vcmRpbmF0b3I7CiBj
bGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmc7CiBjbGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQ7
CiBjbGFzcyBQZXJmb3JtYW5jZU1vbml0b3I7CitjbGFzcyBQZXJtaXNzaW9uQ29udHJvbGxlcjsK
IGNsYXNzIFBsdWdpbkRhdGE7CiBjbGFzcyBQbHVnaW5JbmZvUHJvdmlkZXI7CiBjbGFzcyBQbHVn
aW5WaWV3QmFzZTsKQEAgLTg3Miw2ICs4NzMsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjYWNoZVRl
eHRSZWNvZ25pdGlvblJlc3VsdChjb25zdCBIVE1MRWxlbWVudCYsIGNvbnN0IEludFJlY3QmIGNv
bnRhaW5lclJlY3QsIGNvbnN0IFRleHRSZWNvZ25pdGlvblJlc3VsdCYpOwogI2VuZGlmCiAKKyAg
ICBXRUJDT1JFX0VYUE9SVCBQZXJtaXNzaW9uQ29udHJvbGxlciYgcGVybWlzc2lvbkNvbnRyb2xs
ZXIoKTsKKwogcHJpdmF0ZToKICAgICBzdHJ1Y3QgTmF2aWdhdGlvbiB7CiAgICAgICAgIFJlZ2lz
dHJhYmxlRG9tYWluIGRvbWFpbjsKQEAgLTExOTQsNiArMTE5Nyw4IEBAIHByaXZhdGU6CiAgICAg
Y29uc3QgYm9vbCBtX2h0dHBzVXBncmFkZUVuYWJsZWQgeyB0cnVlIH07CiAgICAgbXV0YWJsZSBN
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgbV9tZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXI7
CiAKKyAgICBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+IG1fcGVybWlzc2lvbkNvbnRy
b2xsZXI7CisKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAgICAgLy8gRklYTUU6IFRoZXNl
IHNob3VsZCBiZSByZWZhY3RvcmVkIHRvIHVzZSBhIHdlYWsgaGFzaCBtYXAgb2YgSFRNTEVsZW1l
bnQgdG8gc3RkOjpwYWlyPFRleHRSZWNvZ25pdGlvblJlc3VsdCwgSW50U2l6ZT4uCiAgICAgVmVj
dG9yPHN0ZDo6cGFpcjxXZWFrUHRyPEhUTUxFbGVtZW50Piwgc3RkOjpwYWlyPFRleHRSZWNvZ25p
dGlvblJlc3VsdCwgSW50UmVjdD4+PiBtX3RleHRSZWNvZ25pdGlvblJlc3VsdHNCeUVsZW1lbnQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDY3NWUzNjlj
YzFlMmMyYjc3ZDk5ZmRkMDkxMzRiMTk4ZjBjZjNhZjMuLmNiNTYwZmQ0MTRhMjNhNzZiMmNjN2I2
MGVhNTAyOTk5YTk4MWNjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uY3BwCkBAIC01OSw3ICs1OSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFnZUNv
bmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
VW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQsIFJlZjxTb2NrZXRQcm92aWRl
cj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmIGxpYldl
YlJUQ1Byb3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYgY2FjaGVTdG9yYWdlUHJv
dmlkZXIsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmIHVzZXJDb250ZW50UHJvdmlkZXIsIFJl
ZjxCYWNrRm9yd2FyZENsaWVudD4mJiBiYWNrRm9yd2FyZENsaWVudCwgUmVmPENvb2tpZUphcj4m
JiBjb29raWVKYXIsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYgcHJvZ3Jlc3NU
cmFja2VyQ2xpZW50LCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+JiYgbG9hZGVyQ2xpZW50
Rm9yTWFpbkZyYW1lLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4mJiBzcGVl
Y2hSZWNvZ25pdGlvblByb3ZpZGVyLCBVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPiYm
IG1lZGlhUmVjb3JkZXJQcm92aWRlciwgUmVmPEJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4mJiBi
cm9hZGNhc3RDaGFubmVsUmVnaXN0cnkpCitQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3Vy
YXRpb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYm
IGVkaXRvckNsaWVudCwgUmVmPFNvY2tldFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyLCBVbmlx
dWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYgbGliV2ViUlRDUHJvdmlkZXIsIFJlZjxDYWNoZVN0
b3JhZ2VQcm92aWRlcj4mJiBjYWNoZVN0b3JhZ2VQcm92aWRlciwgUmVmPFVzZXJDb250ZW50UHJv
dmlkZXI+JiYgdXNlckNvbnRlbnRQcm92aWRlciwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmIGJh
Y2tGb3J3YXJkQ2xpZW50LCBSZWY8Q29va2llSmFyPiYmIGNvb2tpZUphciwgVW5pcXVlUmVmPFBy
b2dyZXNzVHJhY2tlckNsaWVudD4mJiBwcm9ncmVzc1RyYWNrZXJDbGllbnQsIFVuaXF1ZVJlZjxG
cmFtZUxvYWRlckNsaWVudD4mJiBsb2FkZXJDbGllbnRGb3JNYWluRnJhbWUsIFVuaXF1ZVJlZjxT
cGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmIHNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXIsIFVu
aXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYgbWVkaWFSZWNvcmRlclByb3ZpZGVyLCBS
ZWY8QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmIGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSwg
VW5pcXVlUmVmPFBlcm1pc3Npb25Db250cm9sbGVyPiYmIHBlcm1pc3Npb25Db250cm9sbGVyKQog
ICAgIDogc2Vzc2lvbklEKHNlc3Npb25JRCkKICAgICAsIGVkaXRvckNsaWVudChXVEZNb3ZlKGVk
aXRvckNsaWVudCkpCiAgICAgLCBzb2NrZXRQcm92aWRlcihXVEZNb3ZlKHNvY2tldFByb3ZpZGVy
KSkKQEAgLTczLDYgKzczLDcgQEAgUGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9u
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckMKICAgICAsIGJyb2Fk
Y2FzdENoYW5uZWxSZWdpc3RyeShXVEZNb3ZlKGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSkpCiAg
ICAgLCBzcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyKFdURk1vdmUoc3BlZWNoUmVjb2duaXRpb25Q
cm92aWRlcikpCiAgICAgLCBtZWRpYVJlY29yZGVyUHJvdmlkZXIoV1RGTW92ZShtZWRpYVJlY29y
ZGVyUHJvdmlkZXIpKQorICAgICwgcGVybWlzc2lvbkNvbnRyb2xsZXIoV1RGTW92ZShwZXJtaXNz
aW9uQ29udHJvbGxlcikpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uaAppbmRleCAwZjI1OWQ1NmQzYTE0MmExNGUwZWM4NTE0ZTBmZDViMmZkMjkzMGE1Li5kNzVi
NzEwNGMzNTAzOTFmNThhOTY4ZmFlMmU2ZTAzNTQ2MTE2YWNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlQ29uZmlndXJhdGlvbi5oCkBAIC01OSw2ICs1OSw3IEBAIGNsYXNzIExpYldlYlJUQ1By
b3ZpZGVyOwogY2xhc3MgTWVkaWFSZWNvcmRlclByb3ZpZGVyOwogY2xhc3MgUGF5bWVudENvb3Jk
aW5hdG9yQ2xpZW50OwogY2xhc3MgUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50OworY2xhc3MgUGVy
bWlzc2lvbkNvbnRyb2xsZXI7CiBjbGFzcyBQbHVnaW5JbmZvUHJvdmlkZXI7CiBjbGFzcyBQcm9n
cmVzc1RyYWNrZXJDbGllbnQ7CiBjbGFzcyBTb2NrZXRQcm92aWRlcjsKQEAgLTc0LDcgKzc1LDcg
QEAgY2xhc3MgU3BlZWNoU3ludGhlc2lzQ2xpZW50OwogY2xhc3MgUGFnZUNvbmZpZ3VyYXRpb24g
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDb25maWd1cmF0aW9uKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZpZ3Vy
YXRpb24oUEFMOjpTZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYsIFJlZjxTb2Nr
ZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmLCBSZWY8Q2FjaGVT
dG9yYWdlUHJvdmlkZXI+JiYsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmLCBSZWY8QmFja0Zv
cndhcmRDbGllbnQ+JiYsIFJlZjxDb29raWVKYXI+JiYsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNr
ZXJDbGllbnQ+JiYsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNsaWVudD4mJiwgVW5pcXVlUmVmPFNw
ZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlk
ZXI+JiYsIFJlZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYpOworICAgIFdFQkNPUkVfRVhQ
T1JUIFBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xp
ZW50PiYmLCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRl
cj4mJiwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmLCBSZWY8VXNlckNvbnRlbnRQcm92aWRl
cj4mJiwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmLCBSZWY8Q29va2llSmFyPiYmLCBVbmlxdWVS
ZWY8UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmLCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+
JiYsIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TWVk
aWFSZWNvcmRlclByb3ZpZGVyPiYmLCBSZWY8QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmLCBV
bmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+JiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5Q
YWdlQ29uZmlndXJhdGlvbigpOwogICAgIFBhZ2VDb25maWd1cmF0aW9uKFBhZ2VDb25maWd1cmF0
aW9uJiYpOwogCkBAIC0xMzgsNiArMTM5LDggQEAgcHVibGljOgogICAgIGJvb2wgdXNlclNjcmlw
dHNTaG91bGRXYWl0VW50aWxOb3RpZmljYXRpb24geyB0cnVlIH07CiAgICAgU2hvdWxkUmVsYXhU
aGlyZFBhcnR5Q29va2llQmxvY2tpbmcgc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tp
bmcgeyBTaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZzo6Tm8gfTsKICAgICBib29s
IGh0dHBzVXBncmFkZUVuYWJsZWQgeyB0cnVlIH07CisKKyAgICBVbmlxdWVSZWY8UGVybWlzc2lv
bkNvbnRyb2xsZXI+IHBlcm1pc3Npb25Db250cm9sbGVyOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5k
ZXggNjZhZWRhNDNjODJkOGJmYjMzNWJiZmVmNjA5NWQwNGVmYWRiODYyMC4uYTc0NWQ3MjAxNWNm
YzE5NWZiOTZmMmNjNTU4NThhODMxYjc1MGVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC02OTQsNiArNjk0
LDcgQEAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJNZWRpYUtleVN5c3RlbUNsaWVudC5j
cHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlk
ZXIuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5j
cHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50
LmNwcAorV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5j
cHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3BwCiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlByb2dyZXNzVHJhY2tlckNsaWVudC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDVmYjMwODk1MDE1NjI0ODY2NjE1M2M2MjRm
NDAzNGVhNGE4ODRmZGYuLjlhODI5NmI5OGQ1YmIwZGI2M2E3ODBmMTViZjM0MjMzZTdlNDNjMWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTcyLDYgKzE3
Miw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9NZWRpYVN0cmVhbVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BlcmZvcm1h
bmNlTG9nZ2luZ0NsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGVybWlzc2lvblN0YXRlLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHVibGljU3VmZml4
Lmg+CkBAIC04NDkzLDYgKzg0OTQsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJldm9rZUdlb2xv
Y2F0aW9uQXV0aG9yaXphdGlvblRva2VuKGNvbnN0IFN0cmluZyYgYXV0aG9yaXphdGkKICAgICBt
X2dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLnJldm9rZUF1dGhvcml6YXRpb25U
b2tlbihhdXRob3JpemF0aW9uVG9rZW4pOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVz
dFBlcm1pc3Npb24oY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6
UGVybWlzc2lvbkRlc2NyaXB0b3ImLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBl
cm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgLy8gRklYTUU6IFNo
b3cgYSBwcm9tcHQgZm9yIHVzZXIgaW5wdXQuCisgICAgY29tcGxldGlvbkhhbmRsZXIoUGVybWlz
c2lvblN0YXRlOjpHcmFudGVkKTsKK30KKwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiBVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSYgV2ViUGFnZVByb3h5Ojp1c2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAppbmRleCBlYTFjMjJmYjZiMTFiZTk2ODk5MjgyNjRkM2JmM2ZjODQ3MTA5Yjhk
Li40NjFhYWNiODg4NmE1MjMxY2NhYWZmMDc0ZjJhMWE1NGMwMTc3ZDc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjk0LDYgKzI5NCw3IEBAIHN0cnVjdCBMaW5r
SWNvbjsKIHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3Q7CiBzdHJ1Y3QgTWVkaWFVc2FnZUluZm87
CiBzdHJ1Y3QgTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbjsKK3N0cnVjdCBQZXJt
aXNzaW9uRGVzY3JpcHRvcjsKIHN0cnVjdCBQcmV3YXJtSW5mb3JtYXRpb247CiBzdHJ1Y3QgU2Vj
dXJpdHlPcmlnaW5EYXRhOwogc3RydWN0IFNoYXJlRGF0YTsKQEAgLTIxMTcsNiArMjExOCw3IEBA
IHByaXZhdGU6CiAKICAgICB2b2lkIHJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFt
ZShHZW9sb2NhdGlvbklkZW50aWZpZXIsIEZyYW1lSW5mb0RhdGEmJik7CiAgICAgdm9pZCByZXZv
a2VHZW9sb2NhdGlvbkF1dGhvcml6YXRpb25Ub2tlbihjb25zdCBTdHJpbmcmIGF1dGhvcml6YXRp
b25Ub2tlbik7CisgICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihjb25zdCBXZWJDb3JlOjpDbGll
bnRPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKT4mJik7CiAKICNpZiBQTEFU
Rk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKICAgICB2b2lkIHNlbmRNZXNzYWdlVG9XZWJWaWV3
KFVzZXJNZXNzYWdlJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluCmluZGV4IGJjMzdiOGZjNmFkZjNlYWQxODcyZDExNTVmZjBjYmQwMDlk
YzBhZjkuLjA3ZTBmNTQ4MDM0Njk3MDNhNmY3MzdkOTkzMDdiMWVjNzM1MGNkMzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTYw
Miw0ICs2MDIsNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2lmIEhBVkUoQVJLSVRf
SU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIE1vZGVsRWxlbWVudERpZENyZWF0ZVByZXZpZXcoc3Ry
dWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0IGVsZW1lbnRDb250ZXh0LCBVUkwgdXJsLCBTdHJp
bmcgdXVpZCwgV2ViQ29yZTo6RmxvYXRTaXplIHNpemUpCiAjZW5kaWYKKworICAgIHJlcXVlc3RQ
ZXJtaXNzaW9uKHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luLCBzdHJ1Y3QgV2Vi
Q29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikgLT4gKGVudW06dWludDhfdCBX
ZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpIEFzeW5jCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmZTNkMzJiMzI5NWMyYzQ0
ZmQ0NDQ0Y2RkN2YxNDFmMjQwMDRjYTAyLi5mYjY4YTNiZDE2ZDI3MzgyY2QzM2M5M2IxMGJlYmUy
OTNiMzNhNTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTE0OTYsNiArMTQ5Niw3IEBACiAJCTkzQUI5QjRFMjU3NTY3RTIwMDk4QjEw
RSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQUI5QjQyMjU3NDkyOEMw
MDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2UuaCAq
LzsgfTsKIAkJOTNBQjlCNTUyNTc1QTI3NjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVh
bHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBQjlCNEYyNTc1ODkxMTAwOThCMTBF
IC8qIFNwZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVj
ZWl2ZXIuY3BwICovOyB9OwogCQk5M0FCOUI1NjI1NzVBMjhCMDA5OEIxMEUgLyogU3BlZWNoUmVj
b2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0FCOUI1
MTI1NzU4OTExMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlh
U291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTkzQjBBNjc1MjZENUFE
Q0YwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NzQyNkQ1QTcyRTAwQUEyMUU0IC8q
IFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggKi87IH07CiAJCTkzQjI2MTREMjI3RDE0OUUwMEI5
N0E3NiAvKiBTdG9yYWdlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTNCMjYxNDkyMjdEMTQ3MjAwQjk3QTc2IC8qIFN0b3JhZ2VNYW5hZ2Vy
LmggKi87IH07CiAJCTkzQjI2MTRFMjI3RDE0QjEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRh
YmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNC
MjYxNDUyMjdEMTQ3MDAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmggKi87IH07CiAJ
CTkzQjI2MTRGMjI3RDE0QjEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjI2MTQ2
MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaCAqLzsgfTsK
QEAgLTQ5MTQsNiArNDkxNSwxMCBAQAogCQk5M0FCOUI1MjI1NzU4OTEyMDA5OEIxMEUgLyogU3Bl
ZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzUmVw
bGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGVlY2hSZWNvZ25pdGlv
blJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQUI5QjUzMjU3NTg5MTIwMDk4QjEwRSAvKiBTcGVl
Y2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3BlZWNoUmVjb2duaXRpb25SZW1vdGVS
ZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTkzQUI5QjU0MjU3NTg5MTIwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJl
YWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3BlZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1l
c3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjZEMjZENDUxNTAw
MEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBQZXJtaXNzaW9uTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTkzQjBBNjZFMjZENDUxNTAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uTWFuYWdlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY3MzI2RDVBNzJFMDBBQTIxRTQgLyog
V2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5M0IwQTY3NDI2RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRy
b2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUGVybWlzc2lvbkNv
bnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMjYxNDUyMjdEMTQ3
MDAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExvY2FsU3RvcmFnZURhdGFiYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTkzQjI2MTQ2MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFz
ZVRyYWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxTdG9yYWdl
RGF0YWJhc2VUcmFja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjI2MTQ3
MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFj
a2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk2MjMsNiArOTYyOCwxNSBA
QAogCQkJcGF0aCA9IFNwZWVjaDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJ
CTkzQjBBNjZDMjZENDUxMUYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uICovID0geworCQkJaXNhID0g
UEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk5M0IwQTY2RDI2RDQ1MTUwMDBBQTIxRTQg
LyogUGVybWlzc2lvbk1hbmFnZXIuY3BwICovLAorCQkJCTkzQjBBNjZFMjZENDUxNTAwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uTWFuYWdlci5oICovLAorCQkJKTsKKwkJCXBhdGggPSBQZXJtaXNzaW9u
OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJOTNCMjYxNDMyMjdEMTQzMTAw
Qjk3QTc2IC8qIFdlYlN0b3JhZ2UgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKApAQCAtOTg2Myw2ICs5ODc3LDcgQEAKIAkJCQk0QTQxMEY0MTE5QUY3QjI3MDAyRUJB
QjUgLyogTWVkaWFTdHJlYW0gKi8sCiAJCQkJNTEwNUIwRDIxNjJGN0E1RTAwRTI3NzA5IC8qIE5l
dHdvcmsgKi8sCiAJCQkJMzEwOTk5NzQxNDZDOEFBODAwMjlERUI5IC8qIE5vdGlmaWNhdGlvbnMg
KFVzZXIpICovLAorCQkJCTkzQjBBNjZDMjZENDUxMUYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uICov
LAogCQkJCTFBNkZCN0FBMTFFNjRCNDkwMERCMTM3MSAvKiBQbHVnaW5zICovLAogCQkJCTkzQUI5
QjQ4MjU3NEM1Q0UwMDk4QjEwRSAvKiBTcGVlY2ggKi8sCiAJCQkJNTExOEU5OTgxRjI5NTI1OTAw
M0VGOUY1IC8qIFN0b3JhZ2UgKi8sCkBAIC05OTMzLDYgKzk5NDgsOCBAQAogCQkJCTUxMjEyN0My
MTkwODIzOUEwMERBRjM1QyAvKiBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmggKi8sCiAJCQkJMEY4
NTBGRTQxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAg
Ki8sCiAJCQkJMEY4NTBGRTUxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2lu
Z0NsaWVudC5oICovLAorCQkJCTkzQjBBNjczMjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNz
aW9uQ29udHJvbGxlci5jcHAgKi8sCisJCQkJOTNCMEE2NzQyNkQ1QTcyRTAwQUEyMUU0IC8qIFdl
YlBlcm1pc3Npb25Db250cm9sbGVyLmggKi8sCiAJCQkJMUEzRTczNjAxMUNDMjY1OTAwN0JENTM5
IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgKi8sCiAJCQkJMUEzRTczNUYxMUNDMjY1OTAw
N0JENTM5IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5oICovLAogCQkJCUQzQjk0ODQyMTFGRjRC
NjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuY3BwICovLApAQCAtMTI2NjIsNiArMTI2NzksNyBA
QAogCQkJCUExNzk4QjRDMjIyRjFCRDQwMDA3NjRCRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eUNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUIxRjc5OTFEMUIzNjEzMDA3QzlCRDEg
LyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEY4NTBGRTcxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NzUyNkQ1QURDRjAwQUEyMUU0IC8qIFdlYlBl
cm1pc3Npb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTNFNzM2MTExQ0MyNjU5
MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzU3NDRGMDEyNjM4RkIzMDA2RjBGMTIgLyogV2ViUG9wdXBJdGVtLmggaW4gSGVhZGVycyAqLywK
IAkJCQlEM0I5NDg0NzExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI2
YWU3MmI5MTQ0YTQ3NWNjYTZlYWU5MGQxZmM2NWVjNDM0OTQwMWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNv
bnRyb2xsZXIuY3BwCkBAIC0wLDAgKzEsMTM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIldlYlBlcm1pc3Npb25Db250cm9sbGVyLmgiCisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6V2ViUGVybWlzc2lvbkNvbnRy
b2xsZXIoV2ViUGFnZSYgcGFnZSkKKyAgICA6IG1fcGFnZShtYWtlV2Vha1B0cihwYWdlKSkKK3sK
K30KKworUGVybWlzc2lvblN0YXRlIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpxdWVyeShXZWJD
b3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9y
JiYgZGVzY3JpcHRvcikKK3sKKyAgICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0dXJuIFdlYkNv
cmU6OlBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkOworCisgICAgcmV0dXJuIHF1ZXJ5Q2FjaGUoV1RG
TW92ZShvcmlnaW4pLCBXVEZNb3ZlKGRlc2NyaXB0b3IpKTsKK30KKwordm9pZCBXZWJQZXJtaXNz
aW9uQ29udHJvbGxlcjo6cmVxdWVzdChXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFdl
YkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiYgZGVzY3JpcHRvciwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQor
eworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoV2Vi
Q29yZTo6UGVybWlzc2lvblN0YXRlOjpEZW5pZWQpOworCisgICAgYXV0byBjYWNoZWRSZXN1bHQg
PSBxdWVyeUNhY2hlKG9yaWdpbiwgZGVzY3JpcHRvcik7CisgICAgaWYgKGNhY2hlZFJlc3VsdCAh
PSBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdCkKKyAgICAgICAgcmV0dXJuIGNvbXBs
ZXRpb25IYW5kbGVyKGNhY2hlZFJlc3VsdCk7CisKKyAgICBtX3JlcXVlc3RzLmFwcGVuZChQZXJt
aXNzaW9uUmVxdWVzdCB7IFdURk1vdmUob3JpZ2luKSwgV1RGTW92ZShkZXNjcmlwdG9yKSwgV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikgfSk7CisgICAgdHJ5UHJvY2Vzc2luZ1JlcXVlc3QoKTsK
K30KKworV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpx
dWVyeUNhY2hlKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYgb3JpZ2luLCBjb25zdCBXZWJD
b3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcikKK3sKKyAgICBpZiAobV9jYWNo
ZWRQZXJtaXNzaW9uRW50cmllcy5jb250YWlucyhvcmlnaW4pKSB7CisgICAgICAgIGF1dG8gcGVy
bWlzc2lvbkVudHJpZXMgPSBtX2NhY2hlZFBlcm1pc3Npb25FbnRyaWVzLmdldChvcmlnaW4pOwor
ICAgICAgICBmb3IgKGF1dG8mIGVudHJ5IDogcGVybWlzc2lvbkVudHJpZXMpIHsKKyAgICAgICAg
ICAgIGlmIChlbnRyeS5maXJzdCA9PSBkZXNjcmlwdG9yKQorICAgICAgICAgICAgICAgIHJldHVy
biBlbnRyeS5zZWNvbmQ7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gV2ViQ29yZTo6
UGVybWlzc2lvblN0YXRlOjpQcm9tcHQ7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xs
ZXI6OnVwZGF0ZUNhY2hlKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYgb3JpZ2luLCBjb25z
dCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXRlIHN0YXRlKQoreworICAgIGF1dG8mIGVudHJpZXMgPSBtX2NhY2hlZFBlcm1p
c3Npb25FbnRyaWVzLmVuc3VyZShvcmlnaW4sIFsmXSgpIHsKKyAgICAgICAgcmV0dXJuIFZlY3Rv
cjxQZXJtaXNzaW9uRW50cnk+IHsgfTsKKyAgICB9KS5pdGVyYXRvci0+dmFsdWU7CisgICAgZm9y
IChhdXRvJiBlbnRyeSA6IGVudHJpZXMpIHsKKyAgICAgICAgaWYgKGVudHJ5LmZpcnN0ID09IGRl
c2NyaXB0b3IpIHsKKyAgICAgICAgICAgIGlmIChlbnRyeS5zZWNvbmQgPT0gc3RhdGUpCisgICAg
ICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBlbnRyeS5zZWNvbmQgPSBzdGF0ZTsK
KyAgICAgICAgICAgIHBlcm1pc3Npb25DaGFuZ2VkKG9yaWdpbiwgZGVzY3JpcHRvciwgc3RhdGUp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorfQorCit2b2lkIFdlYlBl
cm1pc3Npb25Db250cm9sbGVyOjp0cnlQcm9jZXNzaW5nUmVxdWVzdCgpCit7CisgICAgaWYgKG1f
cmVxdWVzdHMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKKyAgICB3aGlsZSAoIW1fcmVx
dWVzdHMuaXNFbXB0eSgpKSB7CisgICAgICAgIGF1dG8mIGN1cnJlbnRSZXF1ZXN0ID0gbV9yZXF1
ZXN0cy5maXJzdCgpOworICAgICAgICBpZiAoY3VycmVudFJlcXVlc3QuaXNXYWl0aW5nRm9yUmVw
bHkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgLy8gQ2FjaGUgbWF5IGhhdmUgY2hh
bmdlZCBiZXR3ZWVuIHJlcXVlc3RzLgorICAgICAgICBhdXRvIGNhY2hlZFJlc3VsdCA9IHF1ZXJ5
Q2FjaGUoY3VycmVudFJlcXVlc3Qub3JpZ2luLCBjdXJyZW50UmVxdWVzdC5kZXNjcmlwdG9yKTsK
KyAgICAgICAgaWYgKGNhY2hlZFJlc3VsdCAhPSBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OlBy
b21wdCkgeworICAgICAgICAgICAgYXV0byB0YWtlblJlcXVlc3QgPSBtX3JlcXVlc3RzLnRha2VG
aXJzdCgpOworICAgICAgICAgICAgdGFrZW5SZXF1ZXN0LmNvbXBsZXRpb25IYW5kbGVyKGNhY2hl
ZFJlc3VsdCk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCisgICAgICAgIGN1
cnJlbnRSZXF1ZXN0LmlzV2FpdGluZ0ZvclJlcGx5ID0gdHJ1ZTsKKyAgICAgICAgbV9wYWdlLT5z
ZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Np
b24oY3VycmVudFJlcXVlc3Qub3JpZ2luLCBjdXJyZW50UmVxdWVzdC5kZXNjcmlwdG9yKSwgW3Ro
aXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXShhdXRvIHN0YXRlKSB7CisgICAgICAg
ICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAg
ICAgYXV0byB0YWtlblJlcXVlc3QgPSBtX3JlcXVlc3RzLnRha2VGaXJzdCgpOworICAgICAgICAg
ICAgdGFrZW5SZXF1ZXN0LmNvbXBsZXRpb25IYW5kbGVyKHN0YXRlKTsKKyAgICAgICAgICAgIHVw
ZGF0ZUNhY2hlKHRha2VuUmVxdWVzdC5vcmlnaW4sIHRha2VuUmVxdWVzdC5kZXNjcmlwdG9yLCBz
dGF0ZSk7CisKKyAgICAgICAgICAgIHRyeVByb2Nlc3NpbmdSZXF1ZXN0KCk7CisgICAgICAgIH0p
OworICAgIH0KK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6YWRkT2JzZXJ2ZXIo
V2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICBtX29ic2VydmVy
cy5hZGQob2JzZXJ2ZXIpOworfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpyZW1v
dmVPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImIG9ic2VydmVyKQoreworICAg
IG1fb2JzZXJ2ZXJzLnJlbW92ZShvYnNlcnZlcik7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNv
bnRyb2xsZXI6OnBlcm1pc3Npb25DaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYg
b3JpZ2luLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvciwg
V2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHN0YXRlKQoreworICAgIGZvciAoYXV0byYgb2JzZXJ2
ZXIgOiBtX29ic2VydmVycykgeworICAgICAgICBpZiAob2JzZXJ2ZXIub3JpZ2luKCkgPT0gb3Jp
Z2luICYmIG9ic2VydmVyLmRlc2NyaXB0b3IoKSA9PSBkZXNjcmlwdG9yKQorICAgICAgICAgICAg
b2JzZXJ2ZXIuc3RhdGVDaGFuZ2VkKHN0YXRlKTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjFk
ZTdmOGQyMmE4MTBiMThlNmQzMjdlM2I4YzI3NzQ5N2NiYjU5Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250
cm9sbGVyLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uQ29udHJvbGxlci5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvUGVybWlzc2lvbkRlc2NyaXB0b3IuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha0hhc2hTZXQuaD4K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlBlcm1pc3Npb25Db250cm9sbGVyIGZp
bmFsIDogcHVibGljIFdlYkNvcmU6OlBlcm1pc3Npb25Db250cm9sbGVyIHsKK3B1YmxpYzoKKyAg
ICBleHBsaWNpdCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcihXZWJQYWdlJik7CisKK3ByaXZhdGU6
CisgICAgLy8gV2ViQ29yZTo6UGVybWlzc2lvbkNvbnRyb2xsZXIKKyAgICBXZWJDb3JlOjpQZXJt
aXNzaW9uU3RhdGUgcXVlcnkoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlBlcm1p
c3Npb25EZXNjcmlwdG9yJiYpIGZpbmFsOworICAgIHZvaWQgcmVxdWVzdChXZWJDb3JlOjpDbGll
bnRPcmlnaW4mJiwgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImJiwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpPiYmKSBmaW5hbDsKKyAgICB2b2lk
IGFkZE9ic2VydmVyKFdlYkNvcmU6OlBlcm1pc3Npb25PYnNlcnZlciYpIGZpbmFsOworICAgIHZv
aWQgcmVtb3ZlT2JzZXJ2ZXIoV2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyJikgZmluYWw7CisK
KyAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgcXVlcnlDYWNoZShjb25zdCBXZWJDb3JlOjpD
bGllbnRPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYpOworICAg
IHZvaWQgdXBkYXRlQ2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2Vi
Q29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImLCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpOwor
ICAgIHZvaWQgdHJ5UHJvY2Vzc2luZ1JlcXVlc3QoKTsKKyAgICB2b2lkIHBlcm1pc3Npb25DaGFu
Z2VkKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Np
b25EZXNjcmlwdG9yJiwgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKTsKKworICAgIFdlYWtQdHI8
V2ViUGFnZT4gbV9wYWdlOworICAgIFdlYWtIYXNoU2V0PFdlYkNvcmU6OlBlcm1pc3Npb25PYnNl
cnZlcj4gbV9vYnNlcnZlcnM7CisKKyAgICB1c2luZyBQZXJtaXNzaW9uRW50cnkgPSBzdGQ6OnBh
aXI8V2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IsIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0
ZT47CisgICAgSGFzaE1hcDxXZWJDb3JlOjpDbGllbnRPcmlnaW4sIFZlY3RvcjxQZXJtaXNzaW9u
RW50cnk+PiBtX2NhY2hlZFBlcm1pc3Npb25FbnRyaWVzOworCisgICAgc3RydWN0IFBlcm1pc3Np
b25SZXF1ZXN0IHsKKyAgICAgICAgV2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdpbjsKKyAgICAg
ICAgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcjsKKyAgICAgICAgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpPiBjb21wbGV0aW9u
SGFuZGxlcjsKKyAgICAgICAgYm9vbCBpc1dhaXRpbmdGb3JSZXBseSB7IGZhbHNlIH07CisgICAg
fTsKKyAgICBEZXF1ZTxQZXJtaXNzaW9uUmVxdWVzdD4gbV9yZXF1ZXN0czsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKaW5kZXggMDRlM2FlMjAxNDNmMmYzZGJkMjA2NGEzMDJmMDFiODRlZGNhOTY0NS4u
NzExZWQ4ZTkyMjc2ZWI5MzFmNTQ0NWM3NGZkNmMzYjBlOWViNTQxZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTEyMSw2ICsxMjEsNyBAQAog
I2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGF5bWVudENv
b3JkaW5hdG9yLmgiCiAjaW5jbHVkZSAiV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmgiCisj
aW5jbHVkZSAiV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXZWJQbHVnaW5J
bmZvUHJvdmlkZXIuaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnUuaCIKICNpbmNsdWRlICJXZWJQ
cmVmZXJlbmNlc0RlZmluaXRpb25zLmgiCkBAIC01NjMsNyArNTY0LDggQEAgV2ViUGFnZTo6V2Vi
UGFnZShQYWdlSWRlbnRpZmllciBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBw
YXJhbWV0ZXJzKQogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xpZW50Piht
X21haW5GcmFtZS5jb3B5UmVmKCkpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYlNwZWVjaFJl
Y29nbml0aW9uUHJvdmlkZXI+KG1faWRlbnRpZmllciksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8
TWVkaWFSZWNvcmRlclByb3ZpZGVyPigqdGhpcyksCi0gICAgICAgIFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLmJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSgpCisgICAgICAgIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLmJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSgpLAorICAgICAgICBtYWtlVW5pcXVl
UmVmPFdlYlBlcm1pc3Npb25Db250cm9sbGVyPigqdGhpcykKICAgICApOwogICAgIHBhZ2VDb25m
aWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoKnRoaXMpOwogI2lm
IEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCmluZGV4
IGJiZjhkMWJiOGNlNmMzMDFkYzNlZjIwMTk1M2Q4MmZlYzA1ZWRkNTguLjU2YmM4MWM3OGYzNGFh
NDUzNDc5MzVkMjcxZWM1NzBjM2ZjN2VlNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFj
LmgKQEAgLTUwLDcgKzUwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIHN0YXJ0Tm90aWZpY2F0aW9u
TWVjaGFuaXNtKCkgZmluYWw7CiAgICAgdm9pZCBzdG9wTm90aWZpY2F0aW9uTWVjaGFuaXNtKCkg
ZmluYWw7CiAKLSAgICB2b2lkIGFkanVzdFByZWZlcnJlZEZyYW1lc1BlclNlY29uZChGcmFtZXNQ
ZXJTZWNvbmQpIGZpbmFsOworICAgIHZvaWQgYWRqdXN0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25k
KFdlYkNvcmU6OkZyYW1lc1BlclNlY29uZCkgZmluYWw7CiAKICAgICBEaXNwbGF5TGlua09ic2Vy
dmVySUQgbV9vYnNlcnZlcklEOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpSdW5Mb29w
T2JzZXJ2ZXI+IG1fcnVuTG9vcE9ic2VydmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tCmluZGV4IGNkNmE1ZjU3Mjk5NGY3ZWM0ZmJkZTc2MzdkZjg2N2JkNTJm
M2M4MzQuLjQ4MDNlYmM5ZWM3N2U4OGUxNWIyOGUyYmVkYzE2ZDY3M2E3Mjg5Y2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTE5NSw2ICsxOTUsNyBA
QAogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2VDb25maWd1
cmF0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhdGhVdGlsaXRpZXMuaD4KKyNpbXBvcnQgPFdl
YkNvcmUvUGVybWlzc2lvbkNvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1F
dmVudEZhY3RvcnlNYWMuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1TY3JlZW4uaD4KICNp
bXBvcnQgPFdlYkNvcmUvUHJvZ3Jlc3NUcmFja2VyLmg+CkBAIC0xNTM2LDcgKzE1MzcsOCBAQCBz
dGF0aWMgdm9pZCBXZWJLaXRJbml0aWFsaXplR2FtZXBhZFByb3ZpZGVySWZOZWNlc3NhcnkoKQog
ICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xpZW50PigpLAogICAgICAgICBt
YWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4oKSwK
ICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCks
Ci0gICAgICAgIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoW1tzZWxm
IHByZWZlcmVuY2VzXSBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSkKKyAgICAgICAgV2ViQnJvYWRj
YXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShbW3NlbGYgcHJlZmVyZW5jZXNdIHByaXZh
dGVCcm93c2luZ0VuYWJsZWRdKSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpEdW1t
eVBlcm1pc3Npb25Db250cm9sbGVyPigpCiAgICAgKTsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlM
WSkKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xp
ZW50KHNlbGYpOwpAQCAtMTgxNCw3ICsxODE2LDggQEAgc3RhdGljIHZvaWQgV2ViS2l0SW5pdGlh
bGl6ZUdhbWVwYWRQcm92aWRlcklmTmVjZXNzYXJ5KCkKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxX
ZWJGcmFtZUxvYWRlckNsaWVudD4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpE
dW1teVNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8
V2ViQ29yZTo6TWVkaWFSZWNvcmRlclByb3ZpZGVyPigpLAotICAgICAgICBXZWJCcm9hZGNhc3RD
aGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZF0pCisgICAgICAgIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0
T3JDcmVhdGUoW1tzZWxmIHByZWZlcmVuY2VzXSBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSksCisg
ICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6RHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlcj4o
KQogICAgICk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNo
cm9tZUNsaWVudElPUyhzZWxmKTsKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJWaWV3LmNwcAppbmRleCAxY2YzMmRhMjRhMDkwY2ZlM2QyYjY1MjljYTgzZjgy
NmM1NTgyZTlkLi5jMTllOGVmZjU3ZjgxOTBlYTJjNGJjZTMxNWYwZjgwYjM5MmMxOWI1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcApAQCAtMTM4LDYgKzEzOCw3IEBACiAjaW5jbHVk
ZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZUNvbmZp
Z3VyYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhdGhVdGlsaXRpZXMuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL1Blcm1pc3Npb25Db250cm9sbGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0
Zm9ybUtleWJvYXJkRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtTW91c2VFdmVu
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1XaGVlbEV2ZW50Lmg+CkBAIC0zMTMzLDcg
KzMxMzQsOCBAQCBIUkVTVUxUIFdlYlZpZXc6OmluaXRXaXRoRnJhbWUoUkVDVCBmcmFtZSwgX0lu
XyBCU1RSIGZyYW1lTmFtZSwgX0luXyBCU1RSIGdyb3VwTgogICAgICAgICBtYWtlVW5pcXVlUmVm
PFdlYkZyYW1lTG9hZGVyQ2xpZW50Pih3ZWJGcmFtZSksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8
RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigpLAogICAgICAgICBtYWtlVW5pcXVlUmVm
PE1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKSwKLSAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJl
Z2lzdHJ5OjpnZXRPckNyZWF0ZShmYWxzZSkKKyAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJl
Z2lzdHJ5OjpnZXRPckNyZWF0ZShmYWxzZSksCisgICAgICAgIG1ha2VVbmlxdWVSZWY8RHVtbXlQ
ZXJtaXNzaW9uQ29udHJvbGxlcj4oKQogICAgICk7CiAgICAgY29uZmlndXJhdGlvbi5jaHJvbWVD
bGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KHRoaXMpOwogI2lmIEVOQUJMRShDT05URVhUX01F
TlVTKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGYxMzVmZGMzMDk3NTYwOTc2ZGE4MDhjOTk4OWYwMDczYmM5MWQ0ZTkuLjg4
YWJiMDNiNmI2ZjM4MmUxYjMxNmJmOWJhYzJmM2NmNDA4NTI0MDIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAyMS0wOC0yNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9uczoKKwog
MjAyMS0wOC0yNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgog
CiAgICAgICAgIENyYXNoIGluIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNoYXBlRGlzcGxh
eUJ1ZmZlckJhY2tpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDhhNjY1MGY4
ODI4NDk5ODAyYTlkMjBlZmU2OWI1NDMzN2I2NDRiOGYuLjM5YWUyOGY3NDQzYjRkNDNjMTE0NDc2
OTEzZWRmZjQxMDM2MDQ1YTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE5IEBACisyMDIxLTA4LTI2ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBzdHVicyBmb3IgUGVybWlzc2lvbnMgQVBJCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzMzkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJt
aXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9u
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
cGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1Yi1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1p
c3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9wZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91
bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dyb3VuZC1zeW5jLXBlcm1pc3Np
b24tZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA4LTI1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgW01hYyB3azJdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3JlcG9ydGluZy10by1mcmFtZS1v
d25lci5odHRwcy5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
NmJkZTJmOTRlYWQyMTdiODY0NDMyNTcxOGMxZjRjNjIxMWYyNzY3MC4uOGJjOTM2OGQ4YThlZDI4
YmFhYTU0MTNkYmY4YWJmMmMxNmZkMTkxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xOTYsNiAr
MTk2LDcgQEAgZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9wZXJtaXNzaW9uLWVycm9yLmh0bWwgWyBT
a2lwIF0KIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vc3RhcnQtcmVjb2duaXRpb24tdGhlbi1zdG9w
Lmh0bWwgWyBTa2lwIF0KIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vc3RhcnQtc2Vjb25kLXJlY29n
bml0aW9uLmh0bWwgWyBTa2lwIF0KIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vaW9zLyBbIFNraXAg
XQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy8gWyBTa2lwIF0K
IAogIyBhcHAtcHJpdmFjeS1yZXBvcnQgdGVzdHMgcmVseSBvbiBXZWJLaXRBZGRpdGlvbnMKIGh0
dHAvdGVzdHMvYXBwLXByaXZhY3ktcmVwb3J0LyBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJu
ZXNzLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dAppbmRleCBi
ODRkNDBkNzY1ZjIwNDA4M2RlZjhiNjc3MDBjNDIwNDRiMDM0Njk4Li4wYzRiYWEwY2ZlZTAxZjk0
Y2VhZjRhZjdmYjM4Zjg5YjRmYjZiYmU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dApAQCAtMTksMjkgKzE5LDI5
IEBAIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvcklEOiBtZW1iZXIgbmFt
ZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yTGFu
Z3VhZ2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNs
dWRlcyBOYXZpZ2F0b3JPbkxpbmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtl
ck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JDb25jdXJyZW50SGFyZHdhcmU6IG1lbWJlciBu
YW1lcyBhcmUgdW5pcXVlCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBl
Y3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMg
aW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQ
ZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVy
bWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3Np
bmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVy
dHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
UGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1p
c3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJv
cGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMi
IG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0
ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQ
ZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlz
c2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdl
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBl
cm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNz
aW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBw
ZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4g
ZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFN0cmlu
Z2lmaWNhdGlvbiBvZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQg
ZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9i
amVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0
dXMiCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RhdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9l
cXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0
ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFi
bGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBw
ZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jaGFuZ2UiIHdpdGggdGhl
IHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZh
bHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBlcm1pc3Np
b25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
UGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJ
TCBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQg
cHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFj
ZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBt
aXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAi
Y29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlz
c2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVz
IHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3Np
bmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2JqZWN0KSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJt
aXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBl
cm1pc3Npb25zIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmF2aWdhdG9yLnBlcm1pc3Np
b25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIg
YnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgbmF2aWdhdG9yLnBl
cm1pc3Npb25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9i
amVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG5h
dmlnYXRvci5wZXJtaXNzaW9ucyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInF1ZXJ5KG9iamVjdCki
IHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3Qg
ZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBQZXJtaXNzaW9ucyBp
bnRlcmZhY2U6IGNhbGxpbmcgcXVlcnkob2JqZWN0KSBvbiBuYXZpZ2F0b3IucGVybWlzc2lvbnMg
d2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfZXF1YWxz
OiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5l
ZCIKLUZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIHBlcm1pc3Npb25zIGFzc2Vy
dF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAicGVybWlz
c2lvbnMiIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6
IG5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgInBlcm1pc3Npb25zIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJwZXJtaXNzaW9ucyIgbm90IGZv
dW5kIGluIHByb3RvdHlwZSBjaGFpbgorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUGVybWlz
c2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9uU3RhdHVz
IGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQ
QVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQ
QVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQ
QVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3RhdGUKK1BBU1MgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNoYW5nZQorUEFTUyBQZXJtaXNz
aW9uU3RhdHVzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgcGVybWlzc2lvblN0YXR1cwor
UEFTUyBTdHJpbmdpZmljYXRpb24gb2YgcGVybWlzc2lvblN0YXR1cworUEFTUyBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkg
InN0YXRlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY2hhbmdlIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIFBlcm1pc3Npb25zIGlu
dGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3Qg
bmFtZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBA
QHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogb3BlcmF0
aW9uIHF1ZXJ5KG9iamVjdCkKK1BBU1MgUGVybWlzc2lvbnMgbXVzdCBiZSBwcmltYXJ5IGludGVy
ZmFjZSBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5h
dmlnYXRvci5wZXJtaXNzaW9ucworUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG5hdmlnYXRv
ci5wZXJtaXNzaW9ucyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInF1ZXJ5KG9iamVjdCkiIHdpdGgg
dGhlIHByb3BlciB0eXBlCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogY2FsbGluZyBxdWVy
eShvYmplY3QpIG9uIG5hdmlnYXRvci5wZXJtaXNzaW9ucyB3aXRoIHRvbyBmZXcgYXJndW1lbnRz
IG11c3QgdGhyb3cgVHlwZUVycm9yCitQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBwZXJtaXNzaW9ucworUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBuYXZpZ2F0b3IgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJwZXJtaXNzaW9ucyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJt
aXNzaW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDUyNTYwMmQxNmQ3ZjBmNTRjYThlZjAzZjdmY2Y1
YjRlZWVmMzE2OTcuLjA2MmIyOTU3ZjMxNTUxYjM1MmE0OTU0MTZjM2Y0YWJmYTU3OTllNmUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5l
c3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTE5LDI1ICsxOSwyNSBAQCBQQVNTIFdvcmtl
ck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JJRDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUK
IFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckxhbmd1YWdlOiBtZW1iZXIg
bmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9y
T25MaW5lOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5j
bHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1
ZQotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkg
IlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZh
Y2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlz
c2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmpl
Y3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1
cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMi
IGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1p
c3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0
dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBl
cm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25T
dGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlM
IFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3RhdGUgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1
cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNoYW5nZSBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVz
IiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZworUEFTUyBQZXJt
aXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0
aAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQZXJt
aXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAi
Y29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBA
QHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgc3RhdGUKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbmNoYW5nZQogRkFJTCBQZXJtaXNzaW9uU3RhdHVzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZh
Y2Ugb2YgcGVybWlzc2lvblN0YXR1cyBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlv
biB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgogRkFJ
TCBTdHJpbmdpZmljYXRpb24gb2YgcGVybWlzc2lvblN0YXR1cyBhc3NlcnRfZXF1YWxzOiBVbmV4
cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0
IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNz
aW9uU3RhdHVzIgogRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0
YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0YXRlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBh
c3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0
IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgogRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY2hhbmdlIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3
aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgotRkFJTCBQ
ZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3Np
bmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4
cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBp
bnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNz
aW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0
ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkg
IlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNj
b3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25z
IiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5KG9i
amVjdCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwor
UEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2Ugb2JqZWN0CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbGVuZ3Ro
CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQZXJtaXNzaW9u
cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJv
cGVydHkKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5
CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5KG9iamVjdCkKIEZB
SUwgUGVybWlzc2lvbnMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3IucGVy
bWlzc2lvbnMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2Jq
ZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCiBGQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuYXZpZ2F0
b3IucGVybWlzc2lvbnMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3Rl
ZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCiBGQUlMIFBlcm1pc3Npb25zIGludGVyZmFj
ZTogbmF2aWdhdG9yLnBlcm1pc3Npb25zIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVlcnkob2Jq
ZWN0KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9i
amVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25m
Yy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cmlu
ZGV4IGMzZTg2MDVmODcyODdhODAzODFmNWRiODA2Y2RkMDVhMjU1NjVkZGUuLmMyZmQ2NWU4ZDQw
MDJhNzIzMDE4N2E2MWY1MWMyODJlZmMxYzZiZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24t
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEs
MyBAQAogCi1GQUlMIFRlc3QgV2ViIE5GQyBQZXJtaXNzaW9uLiB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykKK1BBU1Mg
VGVzdCBXZWIgTkZDIFBlcm1pc3Npb24uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnkt
ZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Np
b25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0ZWQudHh0
CmluZGV4IGU0MmRkYTI2MTJmMjU3YjdmMDJiYmVlZjY1NjMzYjI1YjczNjQ3YTUuLmM0YmEyNDky
ZTk5MTk5ZDY2NjA1YThjMDFhYTAxNTFiOTYyNDYwNzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMt
cXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9u
cy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4
cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBQZXJtaXNzaW9ucy5zdGF0ZSBpcyAi
cHJvbXB0IiB3aXRoIGFsbG93PSJnZW9sb2NhdGlvbiIgaW4gc2FtZS1vcmlnaW4gaWZyYW1lcy4g
YXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KCJnZW9sb2NhdGlvbiIp
IGV4cGVjdGVkIChzdHJpbmcpICJwcm9tcHQiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAotRkFJTCBQ
ZXJtaXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93PSJnZW9sb2NhdGlvbiIgaW4g
Y3Jvc3Mtb3JpZ2luIGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9u
cy5xdWVyeSgiZ2VvbG9jYXRpb24iKSBleHBlY3RlZCAoc3RyaW5nKSAicHJvbXB0IiBidXQgZ290
IChvYmplY3QpIG51bGwKLUZBSUwgUGVybWlzc2lvbi5zdGF0ZSBpcyAicHJvbXB0IiBpbiBzYW1l
LW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVl
cnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgKHN0cmluZykgInByb21wdCIgYnV0IGdvdCAob2Jq
ZWN0KSBudWxsCi1GQUlMIFBlcm1pc3Npb24uc3RhdGUgaXMgImRlbmllZCIgaW4gY3Jvc3Mtb3Jp
Z2luIGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgi
Z2VvbG9jYXRpb24iKSBleHBlY3RlZCAoc3RyaW5nKSAiZGVuaWVkIiBidXQgZ290IChvYmplY3Qp
IG51bGwKK1BBU1MgUGVybWlzc2lvbnMuc3RhdGUgaXMgInByb21wdCIgd2l0aCBhbGxvdz0iZ2Vv
bG9jYXRpb24iIGluIHNhbWUtb3JpZ2luIGlmcmFtZXMuCitQQVNTIFBlcm1pc3Npb25zLnN0YXRl
IGlzICJwcm9tcHQiIHdpdGggYWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBjcm9zcy1vcmlnaW4gaWZy
YW1lcy4KK1BBU1MgUGVybWlzc2lvbi5zdGF0ZSBpcyAicHJvbXB0IiBpbiBzYW1lLW9yaWdpbiBp
ZnJhbWVzLgorRkFJTCBQZXJtaXNzaW9uLnN0YXRlIGlzICJkZW5pZWQiIGluIGNyb3NzLW9yaWdp
biBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoImdl
b2xvY2F0aW9uIikgZXhwZWN0ZWQgImRlbmllZCIgYnV0IGdvdCAicHJvbXB0IgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Np
b25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1
cy1uYW1lLWV4cGVjdGVkLnR4dAppbmRleCAxMWZiMWEwZDYxMjRkYTk0ZTAwMWU3ZGQ5MjNlMDE3
Y2U2OWU3OGJhLi4wZTRlYmNjNDdjY2I5Mzg5MDhlY2U4NGNjNjhmMTUzZDA4NTM3OWE2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1p
c3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lv
bnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCBQ
ZXJtaXNzaW9uU3RhdHVzJ3MgbmFtZSBhdHRyaWJ1dGUuIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeScpIgor
UEFTUyBUZXN0IFBlcm1pc3Npb25TdGF0dXMncyBuYW1lIGF0dHJpYnV0ZS4KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9u
cy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1s
b2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CmluZGV4IDg1YzdiYmE1YzJiMjQ1OTNmNTFlMjE0
NmJlMjViZDE2ZmEwNWZmNTguLjhlMGU3MDJkMWYyZGQ0OGNhNjk5OWNhNWZiOTRlNTEyYTY0NWJl
OWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Np
b25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwz
IEBACiAKLUZBSUwgVGVzdCAic2NyZWVuLXdha2UtbG9jayIgUGVybWlzc2lvbi4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Np
b25zLnF1ZXJ5JykiCitQQVNTIFRlc3QgInNjcmVlbi13YWtlLWxvY2siIFBlcm1pc3Npb24uCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9u
cy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXggOWE5
NDI2OWZiNzQzOGZjNjNiZTE4ZDAwY2QyOTk3Y2M1OWJhOGRkNi4uNzg1YmI1ODVmNTE1OTVmZGVh
MDUyMzQxNjcyMzgxM2M4ZGIyMzE1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gt
cGVybWlzc2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlz
c2lvbi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCBCYWNrZ3JvdW5k
IEZldGNoIFBlcm1pc3Npb24uIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKQorUEFTUyBUZXN0IEJhY2tncm91bmQgRmV0
Y2ggUGVybWlzc2lvbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3lu
Yy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMt
cGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXggMzE2ZDM1MWEwZTA3NTRiMWU1MDliZjNjYTBh
ZGE0YjY0ZGUzNTZhNy4uNGU5ZjM3YTg3NTZlYjE3YTJmYjg0ZjExNzAyYTE0M2E4NmI3MDk5YiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1wZXJtaXNzaW9uLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dyb3VuZC1zeW5jLXBlcm1pc3Npb24tZXhw
ZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgUGVyaW9kaWMgQmFja2dyb3Vu
ZCBTeW5jIFBlcm1pc3Npb24uIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeScpIgorRkFJTCBUZXN0IFBlcmlv
ZGljIEJhY2tncm91bmQgU3luYyBQZXJtaXNzaW9uLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9y
LWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApp
bmRleCBkZjkwMTA5MDRkNTc3ZTg1YTA3NjY2N2E5MzdhZDc3ZTZkOGY1OTU3Li5jNjhkM2NhMGIz
MGNkY2VlN2RlMWViN2JlNDEzNjlhMGJlZGI4M2JhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZp
Z2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xOCw2ICsxOCw3IEBAIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBpcyBPSwogbmF2aWdhdG9yLm1lZGlhU2Vzc2lvbiBp
cyBPSwogbmF2aWdhdG9yLm1pbWVUeXBlcyBpcyBPSwogbmF2aWdhdG9yLm9uTGluZSBpcyBPSwor
bmF2aWdhdG9yLnBlcm1pc3Npb25zIGlzIE9LCiBuYXZpZ2F0b3IucGxhdGZvcm0gaXMgT0sKIG5h
dmlnYXRvci5wbHVnaW5zIGlzIE9LCiBuYXZpZ2F0b3IucHJvZHVjdCBpcyBPSwpAQCAtNTEsNiAr
NTIsNyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgaXMgT0sKIG5hdmlnYXRvci5tZWRp
YVNlc3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlwZXMgaXMgT0sKIG5hdmlnYXRvci5vbkxp
bmUgaXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyBPSwogbmF2aWdhdG9yLnBsYXRmb3Jt
IGlzIE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwogbmF2aWdhdG9yLnByb2R1Y3QgaXMgT0sK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNmNlZTBmYTJk
NGQ1ZGZmNmI5ZDYxODI3ZWVlM2U5MTRkOTc5Yjk0NS4uNDA4YzhiNDFiYzQzY2ExYjMzZjA2NDc5
MTBhMmJhNWM2NjMzNmRiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTg2MCw0ICs4NjAsNSBAQCBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3Blcm1pc3Np
b24tZXJyb3IuaHRtbCBbIFBhc3MgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1yZWNv
Z25pdGlvbi10aGVuLXN0b3AuaHRtbCBbIFBhc3MgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9z
dGFydC1zZWNvbmQtcmVjb2duaXRpb24uaHRtbCBbIFBhc3MgXQogZnVsbHNjcmVlbi9mdWxsLXNj
cmVlbi1lbnRlci13aGlsZS1leGl0aW5nLmh0bWwgWyBQYXNzIF0KK2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvIFsgUGFzcyBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436586</attachid>
            <date>2021-08-26 16:22:17 -0700</date>
            <delta_ts>2021-08-26 18:18:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210826162215.patch</filename>
            <type>text/plain</type>
            <size>125036</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLjAwYTQ0NjI0ZDI5YWZhNmM4YmNjZTcxM2MyZWU4N2U5Zjc5NTk4
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIxLTA4LTI1
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92
ZSBzb21lIGlPUy1zcGVjaWZpYyBjb21waWxlLXRpbWUgZ3VhcmRzIHRoYXQgYXJlIG5vIGxvbmdl
ciBuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYTkzNTJkZDhlZjlkY2Q5NWZiZDY3MTJiNTRlYjRlZWZm
ZWQyNWMyLi5kODI4YTAwNWQ2NDhiMDgxOWJhMGI5OTdiY2FhMGY1N2I5MjkyNzVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNjkgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiaW5kaW5ncyBj
b2RlIGFuZCBhIGZlYXR1cmUgZmxhZyBmb3IgUGVybWlzc2lvbnMgQVBJLgorICAgICAgICBTcGVj
OiBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLiBSZWJhc2VsaW5lIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9kdWxlcy9w
ZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAg
ICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6b3BlcmF0b3I9
PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yOjpkZWNvZGUp
OgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmg6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZl
ci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OlBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6flBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6c3RhdGVDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUg
Y29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uczo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpQZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJtaXNzaW9uczo6bmF2aWdhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25z
OjpxdWVyeSk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbDogQWRk
ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIGRv
bS9UYXNrU291cmNlLmg6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMpOgorICAgICAg
ICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX3Blcm1pc3Npb25Db250cm9s
bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnBlcm1pc3Npb25Db250cm9sbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Om1faHR0cHNVcGdyYWRlRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
ICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24pOgor
ICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKKwogMjAyMS0wOC0yNSAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGlu
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggNDI0MWIyZTZmYTc4NTRmMTVmZDMzYzZjYTljN2ZlYjM3YmMxZGIyMS4uMDM2Yzkz
YjFjMmI5YzE0NzkwZTI1OTVmM2IyOGVmZWVlODRmNGMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MyBAQAorMjAyMS0wOC0yNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2V0IHVwIGJhc2ljIGluZnJhc3RyY3R1cmUgb2Yg
cGVybWlzc2lvbiBnZXR0aW5nIGFuZCBzZXR0aW5nLgorCisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBl
cm1pc3Npb25Db250cm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRy
b2xsZXI6OnF1ZXJ5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6
OnJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVl
cnlDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRh
dGVDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQ
cm9jZXNzaW5nUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjphZGRPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjpyZW1vdmVPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250
cm9sbGVyOjpwZXJtaXNzaW9uQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fYXBwSGlnaGxp
Z2h0c1Zpc2libGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFjLmg6CisKIDIwMjEtMDgtMjYgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25v
cmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW2N1cmxdIFJFR1JFU1NJT04ocjI4MTE1OCk6
IGZldGNoKCdodHRwOi8vbG9jYWxob3N0LycpIGZyb20gYWJvdXQ6YmxhbmsgZG9lc24ndCBlbWl0
IHRoZSBjb25zb2xlIGVycm9yIG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRl
eCA0NWE1NDg2ZTA1ODA1ZDk3YmMxZTQ4YjQ0ZjkzZGEzMDMyOGE2YTFkLi5mZjc3YjQ5NWE4MmVj
OTI4MzQ5MTU4NGQ2MWFkZDJkZjA5NDg5NzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5h
bWU6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IGluaXRTaW1wbGVIVE1MRG9jdW1l
bnRXaXRoU3R5bGU6ZnJhbWU6cHJlZmVyZW5jZXM6Z3JvdXBOYW1lOl0pOgorCiAyMDIxLTA4LTI0
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gSW1wbGVt
ZW50IHByb2Nlc3Mtc3dhcHBpbmcgYmFzZWQgb24gQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xpY3kg
SFRUUCBoZWFkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCBlMjgxNTEwMjk4YThj
NzM2NDFkYzQwNDk1Njk3YTJkZjQ1YTUxM2NhLi42MGE4ZDQ3NjMzNjA4NzU4ZWY4ODU0MmJmYWFj
YjZiOGI5OTY5ZjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3
Ojppbml0V2l0aEZyYW1lKToKKwogMjAyMS0wOC0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXSzJdIEltcGxlbWVudCBwcm9jZXNzLXN3YXBwaW5nIGJhc2Vk
IG9uIENyb3NzLU9yaWdpbi1PcGVuZXItUG9saWN5IEhUVFAgaGVhZGVyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwu
eWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVy
aW1lbnRhbC55YW1sCmluZGV4IDE4NWE1YWMwZjQ1NGM3NmMwMzQ3OTJhZDE4NTc2MWZjY2E2OTQ5
OTEuLjU1NTQ2MDBkYmM2NjU4ZmExY2FiMmQwNThjZDUzNWRhZjUyOTMxYzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRh
bC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNl
c0V4cGVyaW1lbnRhbC55YW1sCkBAIC04ODEsNiArODgxLDE4IEBAIFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmdTZW5zaXRpdmVQcm9wZXJ0aWVzRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAg
ZGVmYXVsdDogZmFsc2UKIAorUGVybWlzc2lvbnNBUElFbmFibGVkOgorICB0eXBlOiBib29sCisg
IGh1bWFuUmVhZGFibGVOYW1lOiAiUGVybWlzc2lvbnMgQVBJIgorICBodW1hblJlYWRhYmxlRGVz
Y3JpcHRpb246ICJFbmFibGUgUGVybWlzc2lvbnMgQVBJIgorICBkZWZhdWx0VmFsdWU6CisgICAg
V2ViS2l0TGVnYWN5OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAgICBk
ZWZhdWx0OiBmYWxzZQorICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiBQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudERlYnVnTW9kZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgaHVt
YW5SZWFkYWJsZU5hbWU6ICJQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50IERlYnVnIE1vZGUiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IGJiYjg0MmE1MzlhMTA4N2M5ZTFkYjQ2M2QwMTlkZDJiMTIz
MTQyYzkuLjA3ZTVlMDU1OGY2ZGRkNDExZWM0Y2Y1OTZkZTM0M2Y0ODNjMDk3N2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC00OCw2ICs0OCw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfSU5DTFVE
RV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRl
bnR1dGlscyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9ub3RpZmljYXRpb25zIgogICAg
ICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0IgorICAgICIke1dFQkNPUkVf
RElSfS9Nb2R1bGVzL3Blcm1pc3Npb25zIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3Bp
Y3R1cmVpbnBpY3R1cmUiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGx1Z2lucyIKICAg
ICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9yZW1vdGVwbGF5YmFjayIKQEAgLTIwMSw2ICsyMDIs
NyBAQCBzZXQoV2ViQ29yZV9JRExfSU5DTFVERVMKICAgICBNb2R1bGVzL21vZGVsLWVsZW1lbnQK
ICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0Cisg
ICAgTW9kdWxlcy9wZXJtaXNzaW9ucwogICAgIE1vZHVsZXMvc3BlZWNoCiAgICAgTW9kdWxlcy9z
dHJlYW1zCiAgICAgTW9kdWxlcy93ZWJhdWRpbwpAQCAtNDYwLDYgKzQ2MiwxMyBAQCBzZXQoV2Vi
Q29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVu
dFNoaXBwaW5nVHlwZS5pZGwKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRWYWxp
ZGF0aW9uRXJyb3JzLmlkbAogCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVy
bWlzc2lvbnMuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRv
ci5pZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbAorICAgIE1v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbAorICAgIE1vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25zLmlkbAorCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50K1BpY3R1
cmVJblBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50T3JT
aGFkb3dSb290K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0
dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggMzliMmIzMDA0ZTRjNTc5NDM3ZTY1
YWNhOTczMjdjNzhkNGQ3NDVkZS4uNTExYjUxMzEyMDBhYmVjODNiZTQ5MDdhN2JlNDE5MjNhNjJm
MzY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVs
aXN0CkBAIC0zODgsNiArMzg4LDEyIEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5bWVudHJl
cXVlc3QvUGF5bWVudFJlc3BvbnNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wYXltZW50
cmVxdWVzdC9QYXltZW50U2hpcHBpbmdPcHRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ1R5cGUuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzLmlkbAorJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlk
bAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwK
KyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudCtQaWN0dXJlSW5QaWN0
dXJlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50
T3JTaGFkb3dSb290K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuaWRsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDE5Njcx
Zjc1MDZkNmE3OTM3NGM1ZWE0NWFjNzcxZmM3ZjFiNzk1MmIuLjliNDg0YWJhNDhjMmM1Y2ZjNjBh
Y2VlZWMyOTNlYmNhOWMzOTcxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xMzc3LDYgKzEzNzcsOCBAQCAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitNZWRpYURldmljZXMu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmln
YXRvcitNZWRpYURldmljZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFTZXNzaW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFTZXNzaW9uLmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1Bl
cm1pc3Npb25zLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOYXZpZ2F0b3IrUGVybWlzc2lvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViRHJpdmVyLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViRHJpdmVyLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9y
K1dlYlhSLmNwcApAQCAtMTU4Myw2ICsxNTg1LDE2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZUNv
bnN0cmFpbnRzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUGVyaW9kaWNXYXZlT3B0aW9ucy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlT3B0aW9ucy5oCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25EZXNjcmlwdG9yLmNwcAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9u
RGVzY3JpcHRvci5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1Blcm1pc3Npb25OYW1lLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uTmFtZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0ZS5jcHAKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvblN0YXRlLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvblN0YXR1
cy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVy
bWlzc2lvblN0YXR1cy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1Blcm1pc3Npb25zLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9ucy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BpY3R1cmVJblBpY3R1cmVXaW5k
b3cuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQbGF5
YmFja0RpcmVjdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGQ2NGU2
NWU4NmU1ZTExNDI2NjdhOWUzODI3NjgzYTk2OTJmMjdhZjEuLmY5ZWU2NDI4YmEwYTU0ZDU0YzAy
NTdhYTZkNmEwMDAxZTJlNDIxYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAt
MzI0LDYgKzMyNCwxMiBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdPcHRpb24uaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nVHlwZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVy
cm9ycy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3Ir
UGVybWlzc2lvbnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbk5hbWUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvblN0YXRlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0dXMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlu
cGljdHVyZS9Eb2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGljdHVyZUluUGlj
dHVyZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVy
UGljdHVyZUluUGljdHVyZUV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9I
ZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCBlYjA3Yjgw
Yzk5MzNkNjlhOGMzNjMxOTE4Yzc1ZGJlNGUzN2E5MmI4Li43NmNlMGM2NjFmZWU4MzBkMTc2ZTM2
MWY1Nzk4NzM1YzdhZTFlMGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNt
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTEyOSw2ICsxMjksMTIg
QEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIE1vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uLmgKICAgICBNb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgKIAorICAgIE1vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbkRlc2NyaXB0b3IuaAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bk5hbWUuaAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk9ic2VydmVyLmgKKyAg
ICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCisKICAgICBNb2R1bGVzL3Bs
dWdpbnMvUGx1Z2luUmVwbGFjZW1lbnQuaAogICAgIE1vZHVsZXMvcGx1Z2lucy9Zb3VUdWJlUGx1
Z2luUmVwbGFjZW1lbnQuaAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBi
MTI3ZTdmM2ExYzU2NjZjZDBkMGM4OGZlOTExZTk2YzgzNGY2NQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25z
LmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3Blcm1pc3Npb25zLyNuYXZpZ2F0b3ItYW5kLXdvcmtlcm5hdmlnYXRvci1leHRlbnNpb24K
KworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCisgICAgSW1wbGVtZW50
ZWRCeT1OYXZpZ2F0b3JQZXJtaXNzaW9ucworXSBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3Ig
eworICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgUGVybWlzc2lvbnMgcGVybWlz
c2lvbnM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTFmNTU1ODg2ZDhl
NzFhMzQ5ZWU3NWJmM2M0MTZmMDJmMWM0N2FiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKQEAgLTAs
MCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJO
YXZpZ2F0b3JQZXJtaXNzaW9ucy5oIgorCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVk
ZSAiUGVybWlzc2lvbnMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitOYXZpZ2F0b3JQZXJt
aXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMoTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCisgICAg
OiBtX25hdmlnYXRvcihuYXZpZ2F0b3IpCit7Cit9CisKK1JlZlB0cjxQZXJtaXNzaW9ucz4gTmF2
aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9yKQorewor
ICAgIHJldHVybiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6ZnJvbShuYXZpZ2F0b3IpLT5wZXJtaXNz
aW9ucygpOworfQorCitSZWZQdHI8UGVybWlzc2lvbnM+IE5hdmlnYXRvclBlcm1pc3Npb25zOjpw
ZXJtaXNzaW9ucygpCit7CisgICAgaWYgKCFtX3Blcm1pc3Npb25zKQorICAgICAgICBtX3Blcm1p
c3Npb25zID0gUGVybWlzc2lvbnM6OmNyZWF0ZShtX25hdmlnYXRvcik7CisKKyAgICByZXR1cm4g
bV9wZXJtaXNzaW9uczsKK30KKworTmF2aWdhdG9yUGVybWlzc2lvbnMqIE5hdmlnYXRvclBlcm1p
c3Npb25zOjpmcm9tKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIGF1dG8qIHN1cHBsZW1l
bnQgPSBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JQZXJtaXNzaW9ucyo+KFN1cHBsZW1lbnQ8TmF2aWdh
dG9yPjo6ZnJvbSgmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpKSk7CisgICAgaWYgKCFzdXBw
bGVtZW50KSB7CisgICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9IG1ha2VVbmlxdWU8TmF2aWdh
dG9yUGVybWlzc2lvbnM+KG5hdmlnYXRvcik7CisgICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBw
bGVtZW50LmdldCgpOworICAgICAgICBwcm92aWRlVG8oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5h
bWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CisgICAgfQorCisgICAgcmV0dXJuIHN1cHBs
ZW1lbnQ7Cit9CisKK2NvbnN0IGNoYXIqIE5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50
TmFtZSgpCit7CisgICAgcmV0dXJuICJOYXZpZ2F0b3JQZXJtaXNzaW9ucyI7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MGE3MzlkYTcx
NDQwYzdhMzNiMjMyY2FlOTgzNTIwMTlmZGE0NDRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oCkBAIC0w
LDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlN1cHBs
ZW1lbnRhYmxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yOwor
Y2xhc3MgUGVybWlzc2lvbnM7CisKK2NsYXNzIE5hdmlnYXRvclBlcm1pc3Npb25zIGZpbmFsIDog
cHVibGljIFN1cHBsZW1lbnQ8TmF2aWdhdG9yPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CisgICAgZXhwbGljaXQgTmF2aWdhdG9yUGVybWlzc2lvbnMoTmF2aWdhdG9y
Jik7CisKKyAgICBzdGF0aWMgUmVmUHRyPFBlcm1pc3Npb25zPiBwZXJtaXNzaW9ucyhOYXZpZ2F0
b3ImKTsKKyAgICBSZWZQdHI8UGVybWlzc2lvbnM+IHBlcm1pc3Npb25zKCk7CisKK3ByaXZhdGU6
CisgICAgc3RhdGljIE5hdmlnYXRvclBlcm1pc3Npb25zKiBmcm9tKE5hdmlnYXRvciYpOworICAg
IHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOworCisgICAgUmVmUHRyPFBlcm1p
c3Npb25zPiBtX3Blcm1pc3Npb25zOworICAgIE5hdmlnYXRvciYgbV9uYXZpZ2F0b3I7Cit9Owor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25Db250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE3OWRmNDM5YTBmYzE5ZTYyZDczMWU0
YTYwMzI4MDUzMzQ3NjA4MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaApAQCAtMCwwICsxLDU0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJtaXNzaW9uT2JzZXJ2ZXIu
aCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdGUuaCIKKyNpbmNsdWRlIDx3dGYvQ29tcGxldGlv
bkhhbmRsZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQZXJtaXNzaW9uT2Jz
ZXJ2ZXI7CitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7CisKK2NsYXNzIFBlcm1pc3Npb25D
b250cm9sbGVyIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFBlcm1pc3Npb25Db250cm9sbGVyPiB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UGVy
bWlzc2lvbkNvbnRyb2xsZXIoKSA9IGRlZmF1bHQ7CisgICAgdmlydHVhbCBQZXJtaXNzaW9uU3Rh
dGUgcXVlcnkoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlwdG9yJiYpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgcmVxdWVzdChDbGllbnRPcmlnaW4mJiwgUGVybWlzc2lvbkRlc2NyaXB0
b3ImJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChQZXJtaXNzaW9uU3RhdGUpPiYmKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIGFkZE9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgcmVtb3ZlT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgPSAwOwor
fTsKKworY2xhc3MgRHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlciBmaW5hbCA6IHB1YmxpYyBQZXJt
aXNzaW9uQ29udHJvbGxlciB7CisgICAgUGVybWlzc2lvblN0YXRlIHF1ZXJ5KENsaWVudE9yaWdp
biYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmKSBmaW5hbCB7IHJldHVybiBQZXJtaXNzaW9uU3Rh
dGU6OkRlbmllZDsgfQorICAgIHZvaWQgcmVxdWVzdChDbGllbnRPcmlnaW4mJiwgUGVybWlzc2lv
bkRlc2NyaXB0b3ImJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChQZXJtaXNzaW9uU3RhdGUpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKSBmaW5hbCB7IGNvbXBsZXRpb25IYW5kbGVyKFBlcm1pc3Npb25T
dGF0ZTo6RGVuaWVkKTsgfQorICAgIHZvaWQgYWRkT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVy
JikgZmluYWwgeyB9CisgICAgdm9pZCByZW1vdmVPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXIm
KSBmaW5hbCB7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3Iu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40ZTg0YjJkNGM3N2E5OGU5NWI2NjQ5OGRjNGQwYjM4YTkwODllMWU1Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uRGVzY3JpcHRvci5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2luY2x1ZGUgIlBlcm1pc3Npb25OYW1lLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworc3RydWN0IFBlcm1pc3Npb25EZXNjcmlwdG9yIHsKKyAgICBQZXJtaXNzaW9uTmFtZSBu
YW1lOworCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFBlcm1pc3Npb25EZXNjcmlwdG9yJiBk
ZXNjcmlwdG9yKSBjb25zdCB7IHJldHVybiBuYW1lID09IGRlc2NyaXB0b3IubmFtZTsgfQorICAg
IHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAg
ICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxQZXJtaXNzaW9u
RGVzY3JpcHRvcj4gZGVjb2RlKERlY29kZXImKTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+IGlubGluZSB2b2lkIFBlcm1pc3Npb25EZXNjcmlwdG9yOjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IG5hbWU7Cit9CisKK3RlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0ZDo6b3B0aW9uYWw8UGVybWlzc2lvbkRlc2NyaXB0b3I+IFBlcm1pc3Npb25E
ZXNjcmlwdG9yOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBQZXJtaXNzaW9uRGVz
Y3JpcHRvciByZXN1bHQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubmFtZSkpCisg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRm
MzZhMzJhMmNjY2QzMzk5MzliN2RlODM1ZGZlZGJiZjRmNTdjYzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9y
LmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3Blcm1pc3Npb25zLyNkaWN0ZGVmLXBlcm1pc3Npb25kZXNjcmlwdG9yCisKK1sKKyAgICBF
bmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBkaWN0aW9uYXJ5IFBlcm1pc3Npb25E
ZXNjcmlwdG9yIHsKKyAgICByZXF1aXJlZCBQZXJtaXNzaW9uTmFtZSBuYW1lOworfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41Yzk5MzFmZDg0MzhkMzQzMDE2ZjExZDJlZTRjNTczOTNkYWQ4ZTEwCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uTmFtZS5oCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIFBlcm1pc3Npb25OYW1lIDogdWludDhf
dCB7CisgICAgQWNjZWxlcm9tZXRlciwKKyAgICBBbWJpZW50TGlnaHRTZW5zb3IsCisgICAgQmFj
a2dyb3VuZEZldGNoLAorICAgIEJhY2tncm91bmRTeW5jLAorICAgIEJsdWV0b290aCwKKyAgICBD
YW1lcmEsCisgICAgRGlzcGxheUNhcHR1cmUsCisgICAgR2VvbG9jYXRpb24sCisgICAgR3lyb3Nj
b3BlLAorICAgIE1hZ25ldG9tZXRlciwKKyAgICBNaWNyb3Bob25lLAorICAgIE1pZGksCisgICAg
TmZjLAorICAgIE5vdGlmaWNhdGlvbnMsCisgICAgUGVyc2lzdGVudFN0b3JhZ2UsCisgICAgUHVz
aCwKKyAgICBTY3JlZW5XYWtlTG9jaywKKyAgICBTcGVha2VyU2VsZWN0aW9uCit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVj
dCBFbnVtVHJhaXRzPFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lPiB7CisgICAgdXNpbmcgdmFsdWVz
ID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWUsCisgICAgICAg
IFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpBY2NlbGVyb21ldGVyLAorICAgICAgICBXZWJDb3Jl
OjpQZXJtaXNzaW9uTmFtZTo6QW1iaWVudExpZ2h0U2Vuc29yLAorICAgICAgICBXZWJDb3JlOjpQ
ZXJtaXNzaW9uTmFtZTo6QmFja2dyb3VuZEZldGNoLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNz
aW9uTmFtZTo6QmFja2dyb3VuZFN5bmMsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1l
OjpCbHVldG9vdGgsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpDYW1lcmEsCisg
ICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpEaXNwbGF5Q2FwdHVyZSwKKyAgICAgICAg
V2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Okdlb2xvY2F0aW9uLAorICAgICAgICBXZWJDb3JlOjpQ
ZXJtaXNzaW9uTmFtZTo6R3lyb3Njb3BlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFt
ZTo6TWFnbmV0b21ldGVyLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6TWljcm9w
aG9uZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok1pZGksCisgICAgICAgIFdl
YkNvcmU6OlBlcm1pc3Npb25OYW1lOjpOZmMsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25O
YW1lOjpOb3RpZmljYXRpb25zLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6UGVy
c2lzdGVudFN0b3JhZ2UsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpQdXNoLAor
ICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6U2NyZWVuV2FrZUxvY2ssCisgICAgICAg
IFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpTcGVha2VyU2VsZWN0aW9uCisgICAgPjsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kM2FjZGYyOGM2NDIxMTBl
YjYxMGZlOWU5ODdiNmJlNjdkZGRhNjIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwKQEAgLTAsMCArMSw0OSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jZW51
bWRlZi1wZXJtaXNzaW9ubmFtZQorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9u
c0FQSSwKK10gZW51bSBQZXJtaXNzaW9uTmFtZSB7CisgICAgImFjY2VsZXJvbWV0ZXIiLAorICAg
ICJhbWJpZW50LWxpZ2h0LXNlbnNvciIsCisgICAgImJhY2tncm91bmQtZmV0Y2giLAorICAgICJi
YWNrZ3JvdW5kLXN5bmMiLAorICAgICJibHVldG9vdGgiLAorICAgICJjYW1lcmEiLAorICAgICJk
aXNwbGF5LWNhcHR1cmUiLAorICAgICJnZW9sb2NhdGlvbiIsCisgICAgImd5cm9zY29wZSIsCisg
ICAgIm1hZ25ldG9tZXRlciIsCisgICAgIm1pY3JvcGhvbmUiLAorICAgICJtaWRpIiwKKyAgICAi
bmZjIiwKKyAgICAibm90aWZpY2F0aW9ucyIsCisgICAgInBlcnNpc3RlbnQtc3RvcmFnZSIsCisg
ICAgInB1c2giLAorICAgICJzY3JlZW4td2FrZS1sb2NrIiwKKyAgICAic3BlYWtlci1zZWxlY3Rp
b24iCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbk9ic2VydmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTU5OTgzYzZhYmYwNzA5ZDRjMDg5OGJm
YjY1ZmMwZDIxYWVmNzRlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk9ic2VydmVyLmgKQEAgLTAsMCArMSw0NSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCisjaW5j
bHVkZSAiUGVybWlzc2lvblN0YXRlLmgiCisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7CisKK2NsYXNz
IFBlcm1pc3Npb25PYnNlcnZlciA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQZXJtaXNzaW9uT2Jz
ZXJ2ZXI+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJtaXNzaW9uT2JzZXJ2ZXIoKSA9IGRl
ZmF1bHQ7CisKKyAgICB2aXJ0dWFsIHZvaWQgc3RhdGVDaGFuZ2VkKFBlcm1pc3Npb25TdGF0ZSkg
PSAwOworICAgIHZpcnR1YWwgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4oKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCBjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNv
bnN0ID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmVjYWRmNTIwMWUwYzM3YjMwZjRiNzJlYTA4MDQwODU4NGI4ODg0ODQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5o
CkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
PHd0Zi9FbnVtVHJhaXRzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBQ
ZXJtaXNzaW9uU3RhdGUgOiB1aW50OF90IHsKKyAgICBHcmFudGVkLAorICAgIERlbmllZCwKKyAg
ICBQcm9tcHQKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7
CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6UGVybWlzc2lvblN0YXRl
PiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXRlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkdyYW50ZWQs
CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkLAorICAgICAgICBXZWJD
b3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdAorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvblN0YXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvblN0YXRlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTc3OTc4MTJkMTk4NjllZjNlNTFhMmRiOWVh
OGE3YWYxNjhhYzliCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1kZWYtcGVybWlz
c2lvbnN0YXRlCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBl
bnVtIFBlcm1pc3Npb25TdGF0ZSB7CisgICAgImdyYW50ZWQiLAorICAgICJkZW5pZWQiLAorICAg
ICJwcm9tcHQiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTgzYjM0MTY5YzNlNDhlZWRl
NjQ0N2Y4NmQ4Njk4NzIxODNjMDNkOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKQEAgLTAsMCArMSw4MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9u
U3RhdHVzLmgiCisKKyNpbmNsdWRlICJDbGllbnRPcmlnaW4uaCIKKyNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVy
LmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUGVybWlzc2lvblN0YXR1cyk7CisK
K1JlZjxQZXJtaXNzaW9uU3RhdHVzPiBQZXJtaXNzaW9uU3RhdHVzOjpjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgY29udGV4dCwgUGVybWlzc2lvblN0YXRlIHN0YXRlLCBQZXJtaXNzaW9u
RGVzY3JpcHRvciBkZXNjcmlwdG9yKQoreworICAgIGF1dG8gc3RhdHVzID0gYWRvcHRSZWYoKm5l
dyBQZXJtaXNzaW9uU3RhdHVzKGNvbnRleHQsIHN0YXRlLCBkZXNjcmlwdG9yKSk7CisgICAgc3Rh
dHVzLT5zdXNwZW5kSWZOZWVkZWQoKTsKKyAgICByZXR1cm4gc3RhdHVzOworfQorCitQZXJtaXNz
aW9uU3RhdHVzOjpQZXJtaXNzaW9uU3RhdHVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSwgUGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRv
cikKKyAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKKyAgICAsIG1fc3RhdGUoc3RhdGUp
CisgICAgLCBtX2Rlc2NyaXB0b3IoZGVzY3JpcHRvcikKK3sKKyAgICBpZiAoaXM8RG9jdW1lbnQ+
KGNvbnRleHQpKSB7CisgICAgICAgIGlmIChhdXRvIHBhZ2UgPSBkb3duY2FzdDxEb2N1bWVudD4o
KnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkucGFnZSgpKSB7CisgICAgICAgICAgICBtX2NvbnRy
b2xsZXIgPSBtYWtlV2Vha1B0cihwYWdlLT5wZXJtaXNzaW9uQ29udHJvbGxlcigpKTsKKyAgICAg
ICAgICAgIG1fY29udHJvbGxlci0+YWRkT2JzZXJ2ZXIoKnRoaXMpOworICAgICAgICB9CisgICAg
fQorCisgICAgYXV0byogb3JpZ2luID0gY29udGV4dC5zZWN1cml0eU9yaWdpbigpOworICAgIGF1
dG8gb3JpZ2luRGF0YSA9IG9yaWdpbiA/IG9yaWdpbi0+ZGF0YSgpIDogU2VjdXJpdHlPcmlnaW5E
YXRhIHsgfTsKKyAgICBtX29yaWdpbiA9IENsaWVudE9yaWdpbiB7IGNvbnRleHQudG9wT3JpZ2lu
KCkuZGF0YSgpLCBvcmlnaW5EYXRhIH07Cit9CisKK1Blcm1pc3Npb25TdGF0dXM6On5QZXJtaXNz
aW9uU3RhdHVzKCkKK3sKKyAgICBpZiAobV9jb250cm9sbGVyKQorICAgICAgICBtX2NvbnRyb2xs
ZXItPnJlbW92ZU9ic2VydmVyKCp0aGlzKTsKK30KKwordm9pZCBQZXJtaXNzaW9uU3RhdHVzOjpz
dGF0ZUNoYW5nZWQoUGVybWlzc2lvblN0YXRlIG5ld1N0YXRlKQoreworICAgIGlmIChtX3N0YXRl
ICE9IG5ld1N0YXRlKQorICAgICAgICBxdWV1ZVRhc2tUb0Rpc3BhdGNoRXZlbnQoKnRoaXMsIFRh
c2tTb3VyY2U6OlBlcm1pc3Npb24sIEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNoYW5nZUV2
ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKK30K
KworY29uc3QgY2hhciogUGVybWlzc2lvblN0YXR1czo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuICJQZXJtaXNzaW9uU3RhdHVzIjsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uU3RhdHVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25TdGF0dXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNzFlN2E0MjFjZWFlMzI3YjU5YzE4NTQ4
YTdkYTcxNDM2NWQxM2ViCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmgKQEAgLTAsMCArMSw3OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5j
bHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uRGVzY3JpcHRvci5oIgor
I2luY2x1ZGUgIlBlcm1pc3Npb25OYW1lLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbk9ic2VydmVy
LmgiCisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXI7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OworCitjbGFzcyBQZXJtaXNzaW9uU3RhdHVzIGZpbmFsIDogcHVibGljIFBlcm1pc3Npb25P
YnNlcnZlciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIFJlZkNvdW50ZWQ8UGVybWlz
c2lvblN0YXR1cz4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhICB7CisgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChQZXJtaXNzaW9uU3RhdHVzKTsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUmVmPFBlcm1pc3Npb25TdGF0dXM+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwg
UGVybWlzc2lvblN0YXRlLCBQZXJtaXNzaW9uRGVzY3JpcHRvcik7CisgICAgflBlcm1pc3Npb25T
dGF0dXMoKTsKKworICAgIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
c3RhdGU7IH0KKyAgICBQZXJtaXNzaW9uTmFtZSBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kZXNj
cmlwdG9yLm5hbWU7IH0KKworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKKyAgICB1c2luZyBS
ZWZDb3VudGVkOjpkZXJlZjsKKworICAgIHVzaW5nIFBlcm1pc3Npb25PYnNlcnZlcjo6d2Vha1B0
ckZhY3Rvcnk7CisgICAgdXNpbmcgV2Vha1ZhbHVlVHlwZSA9IFBlcm1pc3Npb25PYnNlcnZlcjo6
V2Vha1ZhbHVlVHlwZTsKKworcHJpdmF0ZToKKyAgICBQZXJtaXNzaW9uU3RhdHVzKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBQZXJtaXNzaW9uU3RhdGUsIFBlcm1pc3Npb25EZXNjcmlwdG9yKTsK
KworICAgIC8vIFBlcm1pc3Npb25PYnNlcnZlcgorICAgIHZvaWQgc3RhdGVDaGFuZ2VkKFBlcm1p
c3Npb25TdGF0ZSkgZmluYWw7CisgICAgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4oKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX29yaWdpbjsgfQorICAgIGNvbnN0IFBlcm1pc3Npb25EZXNjcmlw
dG9yJiBkZXNjcmlwdG9yKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9kZXNjcmlwdG9yOyB9CisK
KyAgICAvLyBBY3RpdmVET01PYmplY3QKKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3RO
YW1lKCkgY29uc3QgZmluYWw7CisKKyAgICAvLyBFdmVudFRhcmdldAorICAgIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBBY3RpdmVET01PYmplY3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQorICAgIEV2ZW50
VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gUGVybWlzc2lvblN0YXR1c0V2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQorICAgIHZvaWQg
cmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJlZkV2ZW50VGFy
Z2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CisKKyAgICBQZXJtaXNzaW9uU3RhdGUgbV9zdGF0ZTsK
KyAgICBQZXJtaXNzaW9uRGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7CisgICAgQ2xpZW50T3JpZ2lu
IG1fb3JpZ2luOworICAgIFdlYWtQdHI8UGVybWlzc2lvbkNvbnRyb2xsZXI+IG1fY29udHJvbGxl
cjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmRiNzgxNDJlNjk5ZTIwZTZiZTg2Y2M1Y2UyMDU2ZDFkZWI2OTJlZDAKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworIAorLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3Blcm1pc3Npb25zLyNwZXJtaXNzaW9uc3RhdHVzCisKK1sKKyAgICBBY3RpdmVET01PYmpl
Y3QsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKKyAgICBFeHBvc2VkPShX
aW5kb3csV29ya2VyKQorXSBpbnRlcmZhY2UgUGVybWlzc2lvblN0YXR1cyA6IEV2ZW50VGFyZ2V0
IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgUGVybWlzc2lvblN0YXRlIHN0YXRlOworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBQZXJtaXNzaW9uTmFtZSBuYW1lOworICAgIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25jaGFuZ2U7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZGRiNmJmNTJlMDZkNTIzY2Fi
MzRlOWQxN2RkMTg0ZTYxZTNmODYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAKQEAgLTAsMCArMSw5MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9ucy5oIgor
CisjaW5jbHVkZSAiRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJK
U0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIkpTUGVybWlzc2lvbkRlc2NyaXB0b3Iu
aCIKKyNpbmNsdWRlICJKU1Blcm1pc3Npb25TdGF0dXMuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3Iu
aCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIK
KyNpbmNsdWRlICJQZXJtaXNzaW9uRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxs
b2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9D
QVRFRF9JTVBMKFBlcm1pc3Npb25zKTsKKworUmVmPFBlcm1pc3Npb25zPiBQZXJtaXNzaW9uczo6
Y3JlYXRlKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFBlcm1pc3Npb25zKG5hdmlnYXRvcikpOworfQorCitQZXJtaXNzaW9uczo6UGVybWlzc2lvbnMo
TmF2aWdhdG9yJiBuYXZpZ2F0b3IpCisgICAgOiBtX25hdmlnYXRvcihtYWtlV2Vha1B0cihuYXZp
Z2F0b3IpKQoreworfQorCitOYXZpZ2F0b3IqIFBlcm1pc3Npb25zOjpuYXZpZ2F0b3IoKQorewor
ICAgIHJldHVybiBtX25hdmlnYXRvci5nZXQoKTsKK30KKwordm9pZCBQZXJtaXNzaW9uczo6cXVl
cnkoSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4gcGVybWlzc2lvbkRlc2NyaXB0b3JWYWx1ZSwg
RE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQZXJtaXNzaW9uU3RhdHVzPj4mJiBwcm9t
aXNlKQoreworICAgIGF1dG8gY29udGV4dCA9IG1fbmF2aWdhdG9yID8gbV9uYXZpZ2F0b3ItPnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSA6IG51bGxwdHI7CisgICAgaWYgKCFjb250ZXh0IHx8ICFj
b250ZXh0LT5nbG9iYWxPYmplY3QoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRp
b24geyBJbnZhbGlkU3RhdGVFcnJvciB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IEpTQzo6Vk0mIHZtID0gY29udGV4dC0+Z2xvYmFsT2JqZWN0KCktPnZtKCk7CisgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIGlmICghcGVybWlzc2lvbkRlc2Ny
aXB0b3JWYWx1ZSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBEYXRhRXJy
b3IsICJUaGUgcGFyYW1ldGVyIGlzIGludmFsaWQiX3MgfSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBhdXRvIHBhcmFtZXRlckRlc2NyaXB0b3IgPSBjb252ZXJ0PElETERpY3Rpb25h
cnk8UGVybWlzc2lvbkRlc2NyaXB0b3I+PigqY29udGV4dC0+Z2xvYmFsT2JqZWN0KCksIHBlcm1p
c3Npb25EZXNjcmlwdG9yVmFsdWUuZ2V0KCkpOworICAgIGlmIChVTkxJS0VMWShzY29wZS5leGNl
cHRpb24oKSkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgRXhpc3RpbmdF
eGNlcHRpb25FcnJvciB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8qIGZy
YW1lID0gbV9uYXZpZ2F0b3ItPmZyYW1lKCk7CisgICAgYXV0byogZG9jdW1lbnQgPSBmcmFtZT8g
ZnJhbWUtPmRvY3VtZW50KCkgOiBudWxscHRyOworICAgIGF1dG8qIHBhZ2UgPSBmcmFtZT8gZnJh
bWUtPnBhZ2UoKSA6IG51bGxwdHI7CisgICAgaWYgKCFmcmFtZSB8fCAhZG9jdW1lbnQgfHwgIXBh
Z2UpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJy
b3IgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIHBlcm1pc3Npb25TdGF0
ZSA9IHBhZ2UtPnBlcm1pc3Npb25Db250cm9sbGVyKCkucXVlcnkoQ2xpZW50T3JpZ2luIHsgZG9j
dW1lbnQtPnRvcE9yaWdpbigpLmRhdGEoKSwgZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkuZGF0
YSgpIH0sIFBlcm1pc3Npb25EZXNjcmlwdG9yIHsgcGFyYW1ldGVyRGVzY3JpcHRvciB9KTsKKyAg
ICBwcm9taXNlLnJlc29sdmUoUGVybWlzc2lvblN0YXR1czo6Y3JlYXRlKCpjb250ZXh0LCBwZXJt
aXNzaW9uU3RhdGUsIHBhcmFtZXRlckRlc2NyaXB0b3IpKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9ucy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyZTg5NTdhZjExOGNjNjY0ZGRiNmM0YjU3NGQ2ZDI0Yzc1YzRm
YTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25zLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJv
bmcuaD4KKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIu
aD4KKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBKU09iamVjdDsKK30gLy8gbmFtZXNwYWNlIEpT
QworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmlnYXRvcjsKK2NsYXNzIFBlcm1p
c3Npb25TdGF0dXM7CisKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21p
c2VEZWZlcnJlZDsKKworY2xhc3MgUGVybWlzc2lvbnMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRl
ZDxQZXJtaXNzaW9ucz4geworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUGVybWlzc2lvbnMp
OworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UGVybWlzc2lvbnM+IGNyZWF0ZShOYXZpZ2F0b3Im
KTsKKworICAgIE5hdmlnYXRvciogbmF2aWdhdG9yKCk7CisgICAgdm9pZCBxdWVyeShKU0M6OlN0
cm9uZzxKU0M6OkpTT2JqZWN0PiwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQZXJt
aXNzaW9uU3RhdHVzPj4mJik7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgUGVybWlzc2lvbnMo
TmF2aWdhdG9yJik7CisKKyAgICBXZWFrUHRyPE5hdmlnYXRvcj4gbV9uYXZpZ2F0b3I7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2OGFhNjEyYTUwN2IzODA1
NDBhNjcwYmU2NDVhYjY2ZWY0MzgxZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbApAQCAtMCwwICsxLDM1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNwZXJtaXNz
aW9ucy1pbnRlcmZhY2UKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEks
CisgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVGcm9tTmF2aWdhdG9yLAorICAgIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKK10g
aW50ZXJmYWNlIFBlcm1pc3Npb25zIHsKKyAgICBQcm9taXNlPFBlcm1pc3Npb25TdGF0dXM+IHF1
ZXJ5KG9iamVjdCBwZXJtaXNzaW9uRGVzYyk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA2ZDU5ZGMz
ZmQ4Nzg0YWMzNTc2MGFkZGY1ZDkyMDU4ZDI1ODRkMDdiLi44OTEwNTQ5NzMxOWE2YjA0ZTE4ZmU1
MmU0NTFlZDRlZTlhNGYxNTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMjAzLDYgKzIwMyw5IEBAIE1v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCiBNb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L1BheW1lbnRSZXF1ZXN0VXRpbGl0aWVzLmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50UmVzcG9uc2UuY3BwCitNb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Np
b25zLmNwcAorTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcAorTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9E
b2N1bWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50
ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvSFRN
TFZpZGVvRWxlbWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCkBAIC0zMjcyLDYgKzMyNzUsMTEgQEAg
SlNQZXJmb3JtYW5jZVRpbWluZy5jcHAKIEpTUGVyaW9kaWNXYXZlLmNwcAogSlNQZXJpb2RpY1dh
dmVDb25zdHJhaW50cy5jcHAKIEpTUGVyaW9kaWNXYXZlT3B0aW9ucy5jcHAKK0pTUGVybWlzc2lv
bkRlc2NyaXB0b3IuY3BwCitKU1Blcm1pc3Npb25OYW1lLmNwcAorSlNQZXJtaXNzaW9uU3RhdGUu
Y3BwCitKU1Blcm1pc3Npb25TdGF0dXMuY3BwCitKU1Blcm1pc3Npb25zLmNwcAogSlNQaWN0dXJl
SW5QaWN0dXJlV2luZG93LmNwcAogSlNQbGF5YmFja0RpcmVjdGlvbi5jcHAKIEpTUG9pbnRlckV2
ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGQwYWEwZThkMmI5YjkxMDczYjk4M2E2OGNmNTlmN2U2NmEyYTUzNzUuLjM2
YWRlZWQ0OWQxMGY4N2E2MTgxZDgzMjgzZWI4NzY0ODQ4YWRkZGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI4ODAsNiArMjg4
MCwxNCBAQAogCQk5M0E4MDYxNzFFMDNCNTFDMDA4QTFGMjYgLyogTG9uZ1JhbmdlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4MDYxMzFFMDNCNTFD
MDA4QTFGMjYgLyogTG9uZ1JhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJOTNBODA2MUUxRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFu
Z2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTgw
NjFBMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJhbmdlLmggKi87IH07CiAJCTkzQTgwNjIw
MUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBODA2MUMxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9u
Z1JhbmdlLmggKi87IH07CisJCTkzQjBBNjUzMjZDREQxNDEwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQ
ZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTNCMEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi87
IH07CisJCTkzQjBBNjU0MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NEIyNkNERDEzRTAw
QUEyMUU0IC8qIFBlcm1pc3Npb25zLmggKi87IH07CisJCTkzQjBBNjU2MjZDREQxNDEwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5M0IwQTY0RDI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1
cy5oICovOyB9OworCQk5M0IwQTY1NzI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2Ny
aXB0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
QjBBNjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjU5MjZDREQx
NDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NTAyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Np
b25OYW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJOTNCMEE2NUIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NTIyNkNERDE0MTAw
QUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjcwMjZENEI1MzkwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNCMEE2NjkyNkQ0NEI3RjAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNCMEE2
N0EyNkQ2QTRFOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NkYyNkQ0QjUyOTAwQUEyMUU0
IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTkzQjJEODE2MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJt
aW5hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNCMzhFQzMyNTgyMURC
NDAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IzOEVCQTI1ODIxOTNCMDAxOThFNjMgLyog
V2ViU3BlZWNoUmVjb2duaXplclRhc2suaCAqLzsgfTsKIAkJOTNCMzhFQzQyNTgyMURCNzAwMTk4
RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMzhFQkIyNTgyMTkzRDAwMTk4RTYzIC8qIFdl
YlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oICovOyB9OwpAQCAtMTE3MDEsNiArMTE3MDksMjMg
QEAKIAkJOTNBODA2MUExRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEb3VibGVSYW5nZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5M0E4MDYxQjFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNMb25nUmFuZ2UuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0E4MDYxQzFFMDNCNTg1MDA4QTFGMjYg
LyogSlNMb25nUmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNMb25n
UmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDQyNkNEQzVCNjAw
QUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVy
bWlzc2lvblN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDUy
NkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTkzQjBBNjQ2MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvbk5hbWUuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk5M0IwQTY0NzI2Q0RDNUI3MDBBQTIxRTQgLyogTmF2aWdhdG9yK1Bl
cm1pc3Npb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiTmF2aWdhdG9yK1Blcm1pc3Np
b25zLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ4MjZDREM1Qjcw
MEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlz
c2lvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0OTI2Q0RDNUI4
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
UGVybWlzc2lvblN0YXR1cy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBB
NjRBMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0QjI2Q0REMTNFMDBBQTIxRTQgLyogUGVybWlzc2lv
bnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbnMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEMyNkNERDEzRTAwQUEyMUU0IC8qIE5h
dmlnYXRvclBlcm1pc3Npb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0RTI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lv
bkRlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lv
bkRlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEYyNkNE
RDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTkzQjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uTmFtZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MTI2Q0REMTQwMDBBQTIxRTQgLyogUGVy
bWlzc2lvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVybWlz
c2lvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MjI2Q0REMTQx
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBlcm1pc3Npb25TdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
M0IwQTY2OTI2RDQ0QjdGMDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGVybWlzc2lvbkNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTNCMEE2NkYyNkQ0QjUyOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN1ZGRlblRlcm1pbmF0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjJEODE3MEY5OTIwRUUwMDZBRTZCMiAvKiBT
dWRkZW5UZXJtaW5hdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFN1ZGRlblRlcm1pbmF0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
M0IzOEVCODI1ODIxODk5MDAxOThFNjMgLyogU3BlZWNoUmVjb2duaXplckNvY29hLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3BlZWNoUmVjb2duaXplckNvY29h
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjMxODUsNiArMjMyMTAsMzAgQEAK
IAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk5M0Iw
QTY0MjI2Q0RDNTc0MDBBQTIxRTQgLyogcGVybWlzc2lvbnMgKi8gPSB7CisJCQlpc2EgPSBQQlhH
cm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTkzQjBBNjQ3MjZDREM1QjcwMEFBMjFFNCAvKiBO
YXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsICovLAorCQkJCTkzQjBBNjRDMjZDREQxM0UwMEFBMjFF
NCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAgKi8sCisJCQkJOTNCMEE2NEEyNkNERDEzRTAw
QUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi8sCisJCQkJOTNCMEE2NjkyNkQ0NEI3
RjAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggKi8sCisJCQkJOTNCMEE2NEUyNkNE
RDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggKi8sCisJCQkJOTNCMEE2NDUy
NkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbCAqLywKKwkJCQk5M0Iw
QTY1MDI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCAqLywKKwkJCQk5M0IwQTY0
NjI2Q0RDNUI3MDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaWRsICovLAorCQkJCTkzQjBBNjZG
MjZENEI1MjkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCAqLywKKwkJCQk5M0IwQTY1
MTI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuY3BwICovLAorCQkJCTkzQjBBNjRCMjZD
REQxM0UwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oICovLAorCQkJCTkzQjBBNjQ4MjZDREM1Qjcw
MEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5pZGwgKi8sCisJCQkJOTNCMEE2NTIyNkNERDE0MTAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oICovLAorCQkJCTkzQjBBNjQ0MjZDREM1QjYwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdGUuaWRsICovLAorCQkJCTkzQjBBNjRGMjZDREQxNDAwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdHVzLmNwcCAqLywKKwkJCQk5M0IwQTY0RDI2Q0REMTNGMDBBQTIx
RTQgLyogUGVybWlzc2lvblN0YXR1cy5oICovLAorCQkJCTkzQjBBNjQ5MjZDREM1QjgwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdHVzLmlkbCAqLywKKwkJCSk7CisJCQlwYXRoID0gcGVybWlzc2lv
bnM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk5M0IzOEVCNjI1ODIxODMz
MDAxOThFNjMgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKApAQCAtMjM3OTAsNiArMjM4MzksNyBAQAogCQkJCTcxRDZBQTM5MURBNEVBRjcwMEIyMzk2
OSAvKiBtb2Rlcm4tbWVkaWEtY29udHJvbHMgKi8sCiAJCQkJMzMzRjcwM0QwRkI0OUMxNjAwOEUx
MkE2IC8qIG5vdGlmaWNhdGlvbnMgKi8sCiAJCQkJQTFGNzZCMEUxRjQ0QzBDRjAwMTRDMzE4IC8q
IHBheW1lbnRyZXF1ZXN0ICovLAorCQkJCTkzQjBBNjQyMjZDREM1NzQwMEFBMjFFNCAvKiBwZXJt
aXNzaW9ucyAqLywKIAkJCQkxREVGMDZBMjIzM0MzMkRCMDBFRTIyOEQgLyogcGljdHVyZWlucGlj
dHVyZSAqLywKIAkJCQkwNzJBRTFERTE4M0MwNTEzMDAwQTU5ODggLyogcGx1Z2lucyAqLywKIAkJ
CQlDREMzMTJFMDIyRkNEMEIwMDAxMjA0RUMgLyogcmVtb3RlcGxheWJhY2sgKi8sCkBAIC0zMzc1
Nyw2ICszMzgwNyw3IEBACiAJCQkJNkI1MDdBMjQyMzRCRjM0MTAwQkU3QzYyIC8qIE5hdmlnYXRv
cklzTG9nZ2VkSW4uaCBpbiBIZWFkZXJzICovLAogCQkJCTVFQTcyNUQ2MUFDQUJENTcwMEVBRDE3
QiAvKiBOYXZpZ2F0b3JNZWRpYURldmljZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3N0JBNTcy
MjYwRkEwMTQwMDcyRjE5RiAvKiBOYXZpZ2F0b3JNZWRpYVNlc3Npb24uaCBpbiBIZWFkZXJzICov
LAorCQkJCTkzQjBBNjUzMjZDREQxNDEwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTk2RTU5REYxREYwMTI4RDAwNjYxMkI5IC8qIE5hdmlnYXRv
cldlYkRyaXZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCNzgyNDEzMTkxRjAwRTc5NEQ2
IC8qIE5hdmlnYXRvcldlYlhSLmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTMwOUM5RjEyMzk1MEJF
MDBDQjkyMDQgLyogTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCBpbiBIZWFkZXJzICovLApAQCAt
MzM5NTYsNiArMzQwMDcsMTMgQEAKIAkJCQlGRDU4MUZCNTE1MjBGOTNCMDAzQTdBNzUgLyogUGVy
aW9kaWNXYXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNzU1RTg5MjI0Qzc0MzRCMDA5RjdDMjMg
LyogUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUU3NTVFODk5
MjRDNzQ2MUQwMDlGN0MyMyAvKiBQZXJpb2RpY1dhdmVPcHRpb25zLmggaW4gSGVhZGVycyAqLywK
KwkJCQk5M0IwQTY3MDI2RDRCNTM5MDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTkzQjBBNjU3MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
RGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTkyNkNERDE0MTAwQUEyMUU0
IC8qIFBlcm1pc3Npb25OYW1lLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY3QTI2RDZBNEU5
MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0Iw
QTY1NDI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTkzQjBBNjVCMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTkzQjBBNjU2MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0OUQ1REMyRTBGNDIzQTczMDA4RjIwRkQgLyogUGVyc3BlY3Rp
dmVUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTFEQkMxQjU2MjM0N0Iz
RDIwMEI5MDFBRiAvKiBQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFEMkM4MkI3MjM2QTNGNkEwMDU1RDZDNSAvKiBQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5o
IGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
ZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmgKaW5kZXggZjE4MWM3OTZkNjUwY2M4NmZlM2YwOGE3MjAwN2E2ZWRjMmVm
YmM3OC4uODUxYTIxNGM5YTQ4N2ZmNjhkMTZiZTdkZDhmYmI1MjA4ODdlYjkxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMTU0
LDYgKzE1NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhNb2NrUlRDUnRwVHJh
bnNmb3JtKSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yQ3JlZGVudGlhbHMpIFwKICAgICBtYWNybyhO
YXZpZ2F0b3JNZWRpYURldmljZXMpIFwKKyAgICBtYWNybyhOYXZpZ2F0b3JQZXJtaXNzaW9ucykg
XAogICAgIG1hY3JvKE5hdmlnYXRvclVzZXJNZWRpYSkgXAogICAgIG1hY3JvKE9mZmxpbmVBdWRp
b0NvbnRleHQpIFwKICAgICBtYWNybyhPZmZzY3JlZW5DYW52YXMpIFwKQEAgLTE4Miw2ICsxODMs
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWlu
ZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQ
ZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAorICAgIG1hY3JvKFBlcm1pc3Npb25EZXNjcmlwdG9y
KSBcCisgICAgbWFjcm8oUGVybWlzc2lvblN0YXR1cykgXAorICAgIG1hY3JvKFBlcm1pc3Npb25z
KSBcCiAgICAgbWFjcm8oUG9pbnRlckV2ZW50KSBcCiAgICAgbWFjcm8oUHVibGljS2V5Q3JlZGVu
dGlhbCkgXAogICAgIG1hY3JvKFJlc2l6ZU9ic2VydmVyKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCA1ZTU4ZjExMTY2N2VmNjIxMGQ1MzExMGQ3YjU0YTgw
MmM4NDM5NWQ4Li4wMTNjZWQwOTQ2ZmZjZDUyNTlmYTI1MGIxNjAzYTE4ZTQ1OWU0NTk5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTM1LDYgKzM1LDcgQEAg
T2Zmc2NyZWVuQ2FudmFzIGNvbmRpdGlvbmFsPU9GRlNDUkVFTl9DQU5WQVMKIFBheW1lbnRSZXF1
ZXN0IGNvbmRpdGlvbmFsPVBBWU1FTlRfUkVRVUVTVAogUGF5bWVudFJlc3BvbnNlIGNvbmRpdGlv
bmFsPVBBWU1FTlRfUkVRVUVTVAogUGVyZm9ybWFuY2UKK1Blcm1pc3Npb25TdGF0dXMKIFBpY3R1
cmVJblBpY3R1cmVXaW5kb3cgY29uZGl0aW9uYWw9UElDVFVSRV9JTl9QSUNUVVJFX0FQSQogUmVt
b3RlUGxheWJhY2sgY29uZGl0aW9uYWw9V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUCiBSVENEYXRh
Q2hhbm5lbCBjb25kaXRpb25hbD1XRUJfUlRDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vVGFza1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaAppbmRleCA3
MTMzZjY3OGVhMmQ5OTI2OTUxNjAyMDg2NGVmMTNkNGYzZWZkMzk4Li4yZGE0N2JhZDZjNzNhNmJh
NWJmMjgzYjhkMzUyZjQwZDIxYWYwMTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
VGFza1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UYXNrU291cmNlLmgKQEAgLTM5
LDYgKzM5LDcgQEAgZW51bSBjbGFzcyBUYXNrU291cmNlIDogdWludDhfdCB7CiAgICAgTWljcm90
YXNrLAogICAgIE5ldHdvcmtpbmcsCiAgICAgUGVyZm9ybWFuY2VUaW1lbGluZSwKKyAgICBQZXJt
aXNzaW9uLAogICAgIFBvc3RlZE1lc3NhZ2VRdWV1ZSwKICAgICBTcGVlY2gsCiAgICAgVXNlcklu
dGVyYWN0aW9uLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCA5NjRl
MmRkMTIwNzAzMzFhNjVjYTM0MWFjNzBlNGIyODc0MjAwYTBkLi41NWNjNDZlMjU5MTg0NjlmMzFk
NTZjMDQ5NmU0M2RkNTVlY2ZkNWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmNwcApAQCAtNjMsNiArNjMsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdl
Q29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oIgor
I2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGx1Z2luSW5mb1By
b3ZpZGVyLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW5EYXRhLmgiCkBAIC0xMTkzLDcgKzExOTQsOCBAQCBQYWdlQ29uZmlndXJh
dGlvbiBwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMoUEFMOjpTZXNzaW9uSUQgc2Vz
c2lvbklEKQogICAgICAgICBtYWtlVW5pcXVlUmVmPEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ+KCks
CiAgICAgICAgIG1ha2VVbmlxdWVSZWY8RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigp
LAogICAgICAgICBtYWtlVW5pcXVlUmVmPEVtcHR5TWVkaWFSZWNvcmRlclByb3ZpZGVyPigpLAot
ICAgICAgICBFbXB0eUJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Y3JlYXRlKCkKKyAgICAgICAg
RW1wdHlCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmNyZWF0ZSgpLAorICAgICAgICBtYWtlVW5p
cXVlUmVmPER1bW15UGVybWlzc2lvbkNvbnRyb2xsZXI+KCkKICAgICB9OwogCiAgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPEVtcHR5Q2hyb21lQ2xpZW50PiBkdW1teUNocm9tZUNsaWVudDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwCmluZGV4IGVlZTY4Yjc3ZTFlNWZjZTFlNTljMzI5NDM0YTlhODYwMGIzNjk3
MTAuLjg2MTA3OGJhMGJmNjE4M2I3NzExNDVhNzRiNDFiZTA3ZDdiMDU2MmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcApAQCAtOTksNiArOTksNyBAQAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTG9nZ2luZy5o
IgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oIgogI2luY2x1ZGUgIlBlcmZv
cm1hbmNlTW9uaXRvci5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1T
Y3JlZW4uaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKQEAgLTMyNSw2ICszMjYs
NyBAQCBQYWdlOjpQYWdlKFBhZ2VDb25maWd1cmF0aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAg
ICAgLCBtX2xvYWRzU3VicmVzb3VyY2VzKHBhZ2VDb25maWd1cmF0aW9uLmxvYWRzU3VicmVzb3Vy
Y2VzKQogICAgICwgbV9zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZyhwYWdlQ29u
ZmlndXJhdGlvbi5zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZykKICAgICAsIG1f
aHR0cHNVcGdyYWRlRW5hYmxlZChwYWdlQ29uZmlndXJhdGlvbi5odHRwc1VwZ3JhZGVFbmFibGVk
KQorICAgICwgbV9wZXJtaXNzaW9uQ29udHJvbGxlcihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9u
LnBlcm1pc3Npb25Db250cm9sbGVyKSkKIHsKICAgICB1cGRhdGVUaW1lclRocm90dGxpbmdTdGF0
ZSgpOwogCkBAIC0zNjkzLDQgKzM2OTUsOSBAQCB2b2lkIFBhZ2U6OnJlc2V0VGV4dFJlY29nbml0
aW9uUmVzdWx0cygpCiAKICNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKK1Blcm1p
c3Npb25Db250cm9sbGVyJiBQYWdlOjpwZXJtaXNzaW9uQ29udHJvbGxlcigpCit7CisgICAgcmV0
dXJuIG1fcGVybWlzc2lvbkNvbnRyb2xsZXIuZ2V0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggOTI1NWJmMzEzYzY3ZDcxNDgxNWNmNzgxNTI2NmZmZDgw
NWIyMmY2MC4uM2IxZTI2OTA1NTZkZDRmM2QxN2E4ZWI4NWYyNGQwMDQwODg3NDM3NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKQEAgLTEzMSw2ICsxMzEsNyBAQCBjbGFzcyBQYXltZW50Q29vcmRpbmF0b3I7CiBj
bGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmc7CiBjbGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQ7
CiBjbGFzcyBQZXJmb3JtYW5jZU1vbml0b3I7CitjbGFzcyBQZXJtaXNzaW9uQ29udHJvbGxlcjsK
IGNsYXNzIFBsdWdpbkRhdGE7CiBjbGFzcyBQbHVnaW5JbmZvUHJvdmlkZXI7CiBjbGFzcyBQbHVn
aW5WaWV3QmFzZTsKQEAgLTg3Miw2ICs4NzMsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjYWNoZVRl
eHRSZWNvZ25pdGlvblJlc3VsdChjb25zdCBIVE1MRWxlbWVudCYsIGNvbnN0IEludFJlY3QmIGNv
bnRhaW5lclJlY3QsIGNvbnN0IFRleHRSZWNvZ25pdGlvblJlc3VsdCYpOwogI2VuZGlmCiAKKyAg
ICBXRUJDT1JFX0VYUE9SVCBQZXJtaXNzaW9uQ29udHJvbGxlciYgcGVybWlzc2lvbkNvbnRyb2xs
ZXIoKTsKKwogcHJpdmF0ZToKICAgICBzdHJ1Y3QgTmF2aWdhdGlvbiB7CiAgICAgICAgIFJlZ2lz
dHJhYmxlRG9tYWluIGRvbWFpbjsKQEAgLTExOTQsNiArMTE5Nyw4IEBAIHByaXZhdGU6CiAgICAg
Y29uc3QgYm9vbCBtX2h0dHBzVXBncmFkZUVuYWJsZWQgeyB0cnVlIH07CiAgICAgbXV0YWJsZSBN
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgbV9tZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXI7
CiAKKyAgICBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+IG1fcGVybWlzc2lvbkNvbnRy
b2xsZXI7CisKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAgICAgLy8gRklYTUU6IFRoZXNl
IHNob3VsZCBiZSByZWZhY3RvcmVkIHRvIHVzZSBhIHdlYWsgaGFzaCBtYXAgb2YgSFRNTEVsZW1l
bnQgdG8gc3RkOjpwYWlyPFRleHRSZWNvZ25pdGlvblJlc3VsdCwgSW50U2l6ZT4uCiAgICAgVmVj
dG9yPHN0ZDo6cGFpcjxXZWFrUHRyPEhUTUxFbGVtZW50Piwgc3RkOjpwYWlyPFRleHRSZWNvZ25p
dGlvblJlc3VsdCwgSW50UmVjdD4+PiBtX3RleHRSZWNvZ25pdGlvblJlc3VsdHNCeUVsZW1lbnQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDY3NWUzNjlj
YzFlMmMyYjc3ZDk5ZmRkMDkxMzRiMTk4ZjBjZjNhZjMuLmNiNTYwZmQ0MTRhMjNhNzZiMmNjN2I2
MGVhNTAyOTk5YTk4MWNjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uY3BwCkBAIC01OSw3ICs1OSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFnZUNv
bmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
VW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQsIFJlZjxTb2NrZXRQcm92aWRl
cj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmIGxpYldl
YlJUQ1Byb3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYgY2FjaGVTdG9yYWdlUHJv
dmlkZXIsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmIHVzZXJDb250ZW50UHJvdmlkZXIsIFJl
ZjxCYWNrRm9yd2FyZENsaWVudD4mJiBiYWNrRm9yd2FyZENsaWVudCwgUmVmPENvb2tpZUphcj4m
JiBjb29raWVKYXIsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYgcHJvZ3Jlc3NU
cmFja2VyQ2xpZW50LCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+JiYgbG9hZGVyQ2xpZW50
Rm9yTWFpbkZyYW1lLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4mJiBzcGVl
Y2hSZWNvZ25pdGlvblByb3ZpZGVyLCBVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPiYm
IG1lZGlhUmVjb3JkZXJQcm92aWRlciwgUmVmPEJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4mJiBi
cm9hZGNhc3RDaGFubmVsUmVnaXN0cnkpCitQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3Vy
YXRpb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYm
IGVkaXRvckNsaWVudCwgUmVmPFNvY2tldFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyLCBVbmlx
dWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYgbGliV2ViUlRDUHJvdmlkZXIsIFJlZjxDYWNoZVN0
b3JhZ2VQcm92aWRlcj4mJiBjYWNoZVN0b3JhZ2VQcm92aWRlciwgUmVmPFVzZXJDb250ZW50UHJv
dmlkZXI+JiYgdXNlckNvbnRlbnRQcm92aWRlciwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmIGJh
Y2tGb3J3YXJkQ2xpZW50LCBSZWY8Q29va2llSmFyPiYmIGNvb2tpZUphciwgVW5pcXVlUmVmPFBy
b2dyZXNzVHJhY2tlckNsaWVudD4mJiBwcm9ncmVzc1RyYWNrZXJDbGllbnQsIFVuaXF1ZVJlZjxG
cmFtZUxvYWRlckNsaWVudD4mJiBsb2FkZXJDbGllbnRGb3JNYWluRnJhbWUsIFVuaXF1ZVJlZjxT
cGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmIHNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXIsIFVu
aXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYgbWVkaWFSZWNvcmRlclByb3ZpZGVyLCBS
ZWY8QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmIGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSwg
VW5pcXVlUmVmPFBlcm1pc3Npb25Db250cm9sbGVyPiYmIHBlcm1pc3Npb25Db250cm9sbGVyKQog
ICAgIDogc2Vzc2lvbklEKHNlc3Npb25JRCkKICAgICAsIGVkaXRvckNsaWVudChXVEZNb3ZlKGVk
aXRvckNsaWVudCkpCiAgICAgLCBzb2NrZXRQcm92aWRlcihXVEZNb3ZlKHNvY2tldFByb3ZpZGVy
KSkKQEAgLTczLDYgKzczLDcgQEAgUGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9u
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckMKICAgICAsIGJyb2Fk
Y2FzdENoYW5uZWxSZWdpc3RyeShXVEZNb3ZlKGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSkpCiAg
ICAgLCBzcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyKFdURk1vdmUoc3BlZWNoUmVjb2duaXRpb25Q
cm92aWRlcikpCiAgICAgLCBtZWRpYVJlY29yZGVyUHJvdmlkZXIoV1RGTW92ZShtZWRpYVJlY29y
ZGVyUHJvdmlkZXIpKQorICAgICwgcGVybWlzc2lvbkNvbnRyb2xsZXIoV1RGTW92ZShwZXJtaXNz
aW9uQ29udHJvbGxlcikpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uaAppbmRleCAwZjI1OWQ1NmQzYTE0MmExNGUwZWM4NTE0ZTBmZDViMmZkMjkzMGE1Li5kNzVi
NzEwNGMzNTAzOTFmNThhOTY4ZmFlMmU2ZTAzNTQ2MTE2YWNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlQ29uZmlndXJhdGlvbi5oCkBAIC01OSw2ICs1OSw3IEBAIGNsYXNzIExpYldlYlJUQ1By
b3ZpZGVyOwogY2xhc3MgTWVkaWFSZWNvcmRlclByb3ZpZGVyOwogY2xhc3MgUGF5bWVudENvb3Jk
aW5hdG9yQ2xpZW50OwogY2xhc3MgUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50OworY2xhc3MgUGVy
bWlzc2lvbkNvbnRyb2xsZXI7CiBjbGFzcyBQbHVnaW5JbmZvUHJvdmlkZXI7CiBjbGFzcyBQcm9n
cmVzc1RyYWNrZXJDbGllbnQ7CiBjbGFzcyBTb2NrZXRQcm92aWRlcjsKQEAgLTc0LDcgKzc1LDcg
QEAgY2xhc3MgU3BlZWNoU3ludGhlc2lzQ2xpZW50OwogY2xhc3MgUGFnZUNvbmZpZ3VyYXRpb24g
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDb25maWd1cmF0aW9uKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZpZ3Vy
YXRpb24oUEFMOjpTZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYsIFJlZjxTb2Nr
ZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmLCBSZWY8Q2FjaGVT
dG9yYWdlUHJvdmlkZXI+JiYsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmLCBSZWY8QmFja0Zv
cndhcmRDbGllbnQ+JiYsIFJlZjxDb29raWVKYXI+JiYsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNr
ZXJDbGllbnQ+JiYsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNsaWVudD4mJiwgVW5pcXVlUmVmPFNw
ZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlk
ZXI+JiYsIFJlZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYpOworICAgIFdFQkNPUkVfRVhQ
T1JUIFBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xp
ZW50PiYmLCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRl
cj4mJiwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmLCBSZWY8VXNlckNvbnRlbnRQcm92aWRl
cj4mJiwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmLCBSZWY8Q29va2llSmFyPiYmLCBVbmlxdWVS
ZWY8UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmLCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+
JiYsIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TWVk
aWFSZWNvcmRlclByb3ZpZGVyPiYmLCBSZWY8QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmLCBV
bmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+JiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5Q
YWdlQ29uZmlndXJhdGlvbigpOwogICAgIFBhZ2VDb25maWd1cmF0aW9uKFBhZ2VDb25maWd1cmF0
aW9uJiYpOwogCkBAIC0xMzgsNiArMTM5LDggQEAgcHVibGljOgogICAgIGJvb2wgdXNlclNjcmlw
dHNTaG91bGRXYWl0VW50aWxOb3RpZmljYXRpb24geyB0cnVlIH07CiAgICAgU2hvdWxkUmVsYXhU
aGlyZFBhcnR5Q29va2llQmxvY2tpbmcgc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tp
bmcgeyBTaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZzo6Tm8gfTsKICAgICBib29s
IGh0dHBzVXBncmFkZUVuYWJsZWQgeyB0cnVlIH07CisKKyAgICBVbmlxdWVSZWY8UGVybWlzc2lv
bkNvbnRyb2xsZXI+IHBlcm1pc3Npb25Db250cm9sbGVyOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5k
ZXggNjZhZWRhNDNjODJkOGJmYjMzNWJiZmVmNjA5NWQwNGVmYWRiODYyMC4uYTc0NWQ3MjAxNWNm
YzE5NWZiOTZmMmNjNTU4NThhODMxYjc1MGVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC02OTQsNiArNjk0
LDcgQEAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJNZWRpYUtleVN5c3RlbUNsaWVudC5j
cHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlk
ZXIuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5j
cHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50
LmNwcAorV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5j
cHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3BwCiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlByb2dyZXNzVHJhY2tlckNsaWVudC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDVmYjMwODk1MDE1NjI0ODY2NjE1M2M2MjRm
NDAzNGVhNGE4ODRmZGYuLjlhODI5NmI5OGQ1YmIwZGI2M2E3ODBmMTViZjM0MjMzZTdlNDNjMWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTcyLDYgKzE3
Miw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9NZWRpYVN0cmVhbVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BlcmZvcm1h
bmNlTG9nZ2luZ0NsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGVybWlzc2lvblN0YXRlLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHVibGljU3VmZml4
Lmg+CkBAIC04NDkzLDYgKzg0OTQsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJldm9rZUdlb2xv
Y2F0aW9uQXV0aG9yaXphdGlvblRva2VuKGNvbnN0IFN0cmluZyYgYXV0aG9yaXphdGkKICAgICBt
X2dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLnJldm9rZUF1dGhvcml6YXRpb25U
b2tlbihhdXRob3JpemF0aW9uVG9rZW4pOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVz
dFBlcm1pc3Npb24oY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6
UGVybWlzc2lvbkRlc2NyaXB0b3ImLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBl
cm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgLy8gRklYTUU6IFNo
b3cgYSBwcm9tcHQgZm9yIHVzZXIgaW5wdXQuCisgICAgY29tcGxldGlvbkhhbmRsZXIoUGVybWlz
c2lvblN0YXRlOjpHcmFudGVkKTsKK30KKwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiBVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSYgV2ViUGFnZVByb3h5Ojp1c2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAppbmRleCBlYTFjMjJmYjZiMTFiZTk2ODk5MjgyNjRkM2JmM2ZjODQ3MTA5Yjhk
Li40NjFhYWNiODg4NmE1MjMxY2NhYWZmMDc0ZjJhMWE1NGMwMTc3ZDc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjk0LDYgKzI5NCw3IEBAIHN0cnVjdCBMaW5r
SWNvbjsKIHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3Q7CiBzdHJ1Y3QgTWVkaWFVc2FnZUluZm87
CiBzdHJ1Y3QgTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbjsKK3N0cnVjdCBQZXJt
aXNzaW9uRGVzY3JpcHRvcjsKIHN0cnVjdCBQcmV3YXJtSW5mb3JtYXRpb247CiBzdHJ1Y3QgU2Vj
dXJpdHlPcmlnaW5EYXRhOwogc3RydWN0IFNoYXJlRGF0YTsKQEAgLTIxMTcsNiArMjExOCw3IEBA
IHByaXZhdGU6CiAKICAgICB2b2lkIHJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFt
ZShHZW9sb2NhdGlvbklkZW50aWZpZXIsIEZyYW1lSW5mb0RhdGEmJik7CiAgICAgdm9pZCByZXZv
a2VHZW9sb2NhdGlvbkF1dGhvcml6YXRpb25Ub2tlbihjb25zdCBTdHJpbmcmIGF1dGhvcml6YXRp
b25Ub2tlbik7CisgICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihjb25zdCBXZWJDb3JlOjpDbGll
bnRPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKT4mJik7CiAKICNpZiBQTEFU
Rk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKICAgICB2b2lkIHNlbmRNZXNzYWdlVG9XZWJWaWV3
KFVzZXJNZXNzYWdlJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluCmluZGV4IGJjMzdiOGZjNmFkZjNlYWQxODcyZDExNTVmZjBjYmQwMDlk
YzBhZjkuLjA3ZTBmNTQ4MDM0Njk3MDNhNmY3MzdkOTkzMDdiMWVjNzM1MGNkMzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTYw
Miw0ICs2MDIsNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2lmIEhBVkUoQVJLSVRf
SU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIE1vZGVsRWxlbWVudERpZENyZWF0ZVByZXZpZXcoc3Ry
dWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0IGVsZW1lbnRDb250ZXh0LCBVUkwgdXJsLCBTdHJp
bmcgdXVpZCwgV2ViQ29yZTo6RmxvYXRTaXplIHNpemUpCiAjZW5kaWYKKworICAgIHJlcXVlc3RQ
ZXJtaXNzaW9uKHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luLCBzdHJ1Y3QgV2Vi
Q29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikgLT4gKGVudW06dWludDhfdCBX
ZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpIEFzeW5jCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmZTNkMzJiMzI5NWMyYzQ0
ZmQ0NDQ0Y2RkN2YxNDFmMjQwMDRjYTAyLi5mYjY4YTNiZDE2ZDI3MzgyY2QzM2M5M2IxMGJlYmUy
OTNiMzNhNTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTE0OTYsNiArMTQ5Niw3IEBACiAJCTkzQUI5QjRFMjU3NTY3RTIwMDk4QjEw
RSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQUI5QjQyMjU3NDkyOEMw
MDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2UuaCAq
LzsgfTsKIAkJOTNBQjlCNTUyNTc1QTI3NjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVh
bHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBQjlCNEYyNTc1ODkxMTAwOThCMTBF
IC8qIFNwZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVj
ZWl2ZXIuY3BwICovOyB9OwogCQk5M0FCOUI1NjI1NzVBMjhCMDA5OEIxMEUgLyogU3BlZWNoUmVj
b2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0FCOUI1
MTI1NzU4OTExMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlh
U291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTkzQjBBNjc1MjZENUFE
Q0YwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NzQyNkQ1QTcyRTAwQUEyMUU0IC8q
IFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggKi87IH07CiAJCTkzQjI2MTREMjI3RDE0OUUwMEI5
N0E3NiAvKiBTdG9yYWdlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTNCMjYxNDkyMjdEMTQ3MjAwQjk3QTc2IC8qIFN0b3JhZ2VNYW5hZ2Vy
LmggKi87IH07CiAJCTkzQjI2MTRFMjI3RDE0QjEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRh
YmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNC
MjYxNDUyMjdEMTQ3MDAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmggKi87IH07CiAJ
CTkzQjI2MTRGMjI3RDE0QjEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjI2MTQ2
MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaCAqLzsgfTsK
QEAgLTQ5MTQsNiArNDkxNSwxMCBAQAogCQk5M0FCOUI1MjI1NzU4OTEyMDA5OEIxMEUgLyogU3Bl
ZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzUmVw
bGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGVlY2hSZWNvZ25pdGlv
blJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQUI5QjUzMjU3NTg5MTIwMDk4QjEwRSAvKiBTcGVl
Y2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3BlZWNoUmVjb2duaXRpb25SZW1vdGVS
ZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTkzQUI5QjU0MjU3NTg5MTIwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJl
YWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3BlZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1l
c3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjZEMjZENDUxNTAw
MEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBQZXJtaXNzaW9uTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTkzQjBBNjZFMjZENDUxNTAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uTWFuYWdlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY3MzI2RDVBNzJFMDBBQTIxRTQgLyog
V2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5M0IwQTY3NDI2RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRy
b2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUGVybWlzc2lvbkNv
bnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMjYxNDUyMjdEMTQ3
MDAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExvY2FsU3RvcmFnZURhdGFiYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTkzQjI2MTQ2MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFz
ZVRyYWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxTdG9yYWdl
RGF0YWJhc2VUcmFja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjI2MTQ3
MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFj
a2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk2MjMsNiArOTYyOCwxNSBA
QAogCQkJcGF0aCA9IFNwZWVjaDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJ
CTkzQjBBNjZDMjZENDUxMUYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uICovID0geworCQkJaXNhID0g
UEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk5M0IwQTY2RDI2RDQ1MTUwMDBBQTIxRTQg
LyogUGVybWlzc2lvbk1hbmFnZXIuY3BwICovLAorCQkJCTkzQjBBNjZFMjZENDUxNTAwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uTWFuYWdlci5oICovLAorCQkJKTsKKwkJCXBhdGggPSBQZXJtaXNzaW9u
OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJOTNCMjYxNDMyMjdEMTQzMTAw
Qjk3QTc2IC8qIFdlYlN0b3JhZ2UgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKApAQCAtOTg2Myw2ICs5ODc3LDcgQEAKIAkJCQk0QTQxMEY0MTE5QUY3QjI3MDAyRUJB
QjUgLyogTWVkaWFTdHJlYW0gKi8sCiAJCQkJNTEwNUIwRDIxNjJGN0E1RTAwRTI3NzA5IC8qIE5l
dHdvcmsgKi8sCiAJCQkJMzEwOTk5NzQxNDZDOEFBODAwMjlERUI5IC8qIE5vdGlmaWNhdGlvbnMg
KFVzZXIpICovLAorCQkJCTkzQjBBNjZDMjZENDUxMUYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uICov
LAogCQkJCTFBNkZCN0FBMTFFNjRCNDkwMERCMTM3MSAvKiBQbHVnaW5zICovLAogCQkJCTkzQUI5
QjQ4MjU3NEM1Q0UwMDk4QjEwRSAvKiBTcGVlY2ggKi8sCiAJCQkJNTExOEU5OTgxRjI5NTI1OTAw
M0VGOUY1IC8qIFN0b3JhZ2UgKi8sCkBAIC05OTMzLDYgKzk5NDgsOCBAQAogCQkJCTUxMjEyN0My
MTkwODIzOUEwMERBRjM1QyAvKiBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmggKi8sCiAJCQkJMEY4
NTBGRTQxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAg
Ki8sCiAJCQkJMEY4NTBGRTUxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2lu
Z0NsaWVudC5oICovLAorCQkJCTkzQjBBNjczMjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNz
aW9uQ29udHJvbGxlci5jcHAgKi8sCisJCQkJOTNCMEE2NzQyNkQ1QTcyRTAwQUEyMUU0IC8qIFdl
YlBlcm1pc3Npb25Db250cm9sbGVyLmggKi8sCiAJCQkJMUEzRTczNjAxMUNDMjY1OTAwN0JENTM5
IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgKi8sCiAJCQkJMUEzRTczNUYxMUNDMjY1OTAw
N0JENTM5IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5oICovLAogCQkJCUQzQjk0ODQyMTFGRjRC
NjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuY3BwICovLApAQCAtMTI2NjIsNiArMTI2NzksNyBA
QAogCQkJCUExNzk4QjRDMjIyRjFCRDQwMDA3NjRCRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eUNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUIxRjc5OTFEMUIzNjEzMDA3QzlCRDEg
LyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEY4NTBGRTcxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NzUyNkQ1QURDRjAwQUEyMUU0IC8qIFdlYlBl
cm1pc3Npb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTNFNzM2MTExQ0MyNjU5
MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzU3NDRGMDEyNjM4RkIzMDA2RjBGMTIgLyogV2ViUG9wdXBJdGVtLmggaW4gSGVhZGVycyAqLywK
IAkJCQlEM0I5NDg0NzExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVh
ZjMyNDM0NGNiMzU5N2I0ODBlYzUzNDA2YTRjNTcwYmMyNmFiNGYKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNv
bnRyb2xsZXIuY3BwCkBAIC0wLDAgKzEsMTQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIldlYlBlcm1pc3Npb25Db250cm9sbGVyLmgiCisKKyNpbmNsdWRl
ICJXZWJQYWdlLmgiCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK1dlYlBlcm1pc3Npb25Db250cm9sbGVyOjpXZWJQZXJtaXNzaW9uQ29u
dHJvbGxlcihXZWJQYWdlJiBwYWdlKQorICAgIDogbV9wYWdlKG1ha2VXZWFrUHRyKHBhZ2UpKQor
eworfQorCitXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6
OnF1ZXJ5KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6UGVybWlzc2lv
bkRlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQoreworICAgIGlmICghbV9wYWdlKQorICAgICAgICBy
ZXR1cm4gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpEZW5pZWQ7CisKKyAgICByZXR1cm4gcXVl
cnlDYWNoZShXVEZNb3ZlKG9yaWdpbiksIFdURk1vdmUoZGVzY3JpcHRvcikpOworfQorCit2b2lk
IFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpyZXF1ZXN0KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYm
IG9yaWdpbiwgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImJiBkZXNjcmlwdG9yLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlv
bkhhbmRsZXIpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybiBjb21wbGV0aW9u
SGFuZGxlcihXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkRlbmllZCk7CisKKyAgICBhdXRvIGNh
Y2hlZFJlc3VsdCA9IHF1ZXJ5Q2FjaGUob3JpZ2luLCBkZXNjcmlwdG9yKTsKKyAgICBpZiAoY2Fj
aGVkUmVzdWx0ICE9IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0KQorICAgICAgICBy
ZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoY2FjaGVkUmVzdWx0KTsKKworICAgIG1fcmVxdWVzdHMu
YXBwZW5kKFBlcm1pc3Npb25SZXF1ZXN0IHsgV1RGTW92ZShvcmlnaW4pLCBXVEZNb3ZlKGRlc2Ny
aXB0b3IpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSB9KTsKKyAgICB0cnlQcm9jZXNzaW5n
UmVxdWVzdCgpOworfQorCitXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgV2ViUGVybWlzc2lvbkNv
bnRyb2xsZXI6OnF1ZXJ5Q2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBvcmlnaW4s
IGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQoreworICAg
IGlmIChtX2NhY2hlZFBlcm1pc3Npb25FbnRyaWVzLmNvbnRhaW5zKG9yaWdpbikpIHsKKyAgICAg
ICAgYXV0byBwZXJtaXNzaW9uRW50cmllcyA9IG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXMuZ2V0
KG9yaWdpbik7CisgICAgICAgIGZvciAoYXV0byYgZW50cnkgOiBwZXJtaXNzaW9uRW50cmllcykg
eworICAgICAgICAgICAgaWYgKGVudHJ5LmZpcnN0ID09IGRlc2NyaXB0b3IpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIGVudHJ5LnNlY29uZDsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVy
biBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdDsKK30KKwordm9pZCBXZWJQZXJtaXNz
aW9uQ29udHJvbGxlcjo6dXBkYXRlQ2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBv
cmlnaW4sIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBX
ZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpCit7CisgICAgYXV0byYgZW50cmllcyA9IG1f
Y2FjaGVkUGVybWlzc2lvbkVudHJpZXMuZW5zdXJlKG9yaWdpbiwgWyZdKCkgeworICAgICAgICBy
ZXR1cm4gVmVjdG9yPFBlcm1pc3Npb25FbnRyeT4geyB9OworICAgIH0pLml0ZXJhdG9yLT52YWx1
ZTsKKyAgICBmb3IgKGF1dG8mIGVudHJ5IDogZW50cmllcykgeworICAgICAgICBpZiAoZW50cnku
Zmlyc3QgPT0gZGVzY3JpcHRvcikgeworICAgICAgICAgICAgaWYgKGVudHJ5LnNlY29uZCA9PSBz
dGF0ZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIGVudHJ5LnNlY29u
ZCA9IHN0YXRlOworICAgICAgICAgICAgcGVybWlzc2lvbkNoYW5nZWQob3JpZ2luLCBkZXNjcmlw
dG9yLCBzdGF0ZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9Cit9CisK
K3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnRyeVByb2Nlc3NpbmdSZXF1ZXN0KCkKK3sK
KyAgICBpZiAobV9yZXF1ZXN0cy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIHdo
aWxlICghbV9yZXF1ZXN0cy5pc0VtcHR5KCkpIHsKKyAgICAgICAgYXV0byYgY3VycmVudFJlcXVl
c3QgPSBtX3JlcXVlc3RzLmZpcnN0KCk7CisgICAgICAgIGlmIChjdXJyZW50UmVxdWVzdC5pc1dh
aXRpbmdGb3JSZXBseSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAvLyBDYWNoZSBt
YXkgaGF2ZSBjaGFuZ2VkIGJldHdlZW4gcmVxdWVzdHMuCisgICAgICAgIGF1dG8gY2FjaGVkUmVz
dWx0ID0gcXVlcnlDYWNoZShjdXJyZW50UmVxdWVzdC5vcmlnaW4sIGN1cnJlbnRSZXF1ZXN0LmRl
c2NyaXB0b3IpOworICAgICAgICBpZiAoY2FjaGVkUmVzdWx0ICE9IFdlYkNvcmU6OlBlcm1pc3Np
b25TdGF0ZTo6UHJvbXB0KSB7CisgICAgICAgICAgICBhdXRvIHRha2VuUmVxdWVzdCA9IG1fcmVx
dWVzdHMudGFrZUZpcnN0KCk7CisgICAgICAgICAgICB0YWtlblJlcXVlc3QuY29tcGxldGlvbkhh
bmRsZXIoY2FjaGVkUmVzdWx0KTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisK
KyAgICAgICAgY3VycmVudFJlcXVlc3QuaXNXYWl0aW5nRm9yUmVwbHkgPSB0cnVlOworICAgICAg
ICBtX3BhZ2UtPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpyZXF1
ZXN0UGVybWlzc2lvbihjdXJyZW50UmVxdWVzdC5vcmlnaW4sIGN1cnJlbnRSZXF1ZXN0LmRlc2Ny
aXB0b3IpLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldKGF1dG8gc3RhdGUp
IHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgICAgICBhdXRvIHRha2VuUmVxdWVzdCA9IG1fcmVxdWVzdHMudGFrZUZpcnN0KCk7
CisgICAgICAgICAgICB0YWtlblJlcXVlc3QuY29tcGxldGlvbkhhbmRsZXIoc3RhdGUpOworICAg
ICAgICAgICAgdXBkYXRlQ2FjaGUodGFrZW5SZXF1ZXN0Lm9yaWdpbiwgdGFrZW5SZXF1ZXN0LmRl
c2NyaXB0b3IsIHN0YXRlKTsKKworICAgICAgICAgICAgdHJ5UHJvY2Vzc2luZ1JlcXVlc3QoKTsK
KyAgICAgICAgfSk7CisgICAgfQorfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjph
ZGRPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImIG9ic2VydmVyKQoreworICAg
IG1fb2JzZXJ2ZXJzLmFkZChvYnNlcnZlcik7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRy
b2xsZXI6OnJlbW92ZU9ic2VydmVyKFdlYkNvcmU6OlBlcm1pc3Npb25PYnNlcnZlciYgb2JzZXJ2
ZXIpCit7CisgICAgbV9vYnNlcnZlcnMucmVtb3ZlKG9ic2VydmVyKTsKK30KKwordm9pZCBXZWJQ
ZXJtaXNzaW9uQ29udHJvbGxlcjo6cGVybWlzc2lvbkNoYW5nZWQoY29uc3QgV2ViQ29yZTo6Q2xp
ZW50T3JpZ2luJiBvcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiBk
ZXNjcmlwdG9yLCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpCit7CisgICAgZm9yIChh
dXRvJiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKSB7CisgICAgICAgIGlmIChvYnNlcnZlci5vcmln
aW4oKSA9PSBvcmlnaW4gJiYgb2JzZXJ2ZXIuZGVzY3JpcHRvcigpID09IGRlc2NyaXB0b3IpCisg
ICAgICAgICAgICBvYnNlcnZlci5zdGF0ZUNoYW5nZWQoc3RhdGUpOworICAgIH0KK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY3OWU1MGY1MDBiYjA2MGVjYTQ4ZThlMTRiZWY0YTc5MzI3Y2U2NzMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVy
bWlzc2lvbkNvbnRyb2xsZXIuaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1pc3Npb25Db250cm9sbGVyLmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uRGVzY3JpcHRvci5oPgorI2luY2x1ZGUgPHd0Zi9EZXF1
ZS5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsK
KworY2xhc3MgV2ViUGFnZTsKKworY2xhc3MgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIgZmluYWwg
OiBwdWJsaWMgV2ViQ29yZTo6UGVybWlzc2lvbkNvbnRyb2xsZXIgeworcHVibGljOgorICAgIGV4
cGxpY2l0IFdlYlBlcm1pc3Npb25Db250cm9sbGVyKFdlYlBhZ2UmKTsKKworcHJpdmF0ZToKKyAg
ICAvLyBXZWJDb3JlOjpQZXJtaXNzaW9uQ29udHJvbGxlcgorICAgIFdlYkNvcmU6OlBlcm1pc3Np
b25TdGF0ZSBxdWVyeShXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6UGVybWlzc2lv
bkRlc2NyaXB0b3ImJikgZmluYWw7CisgICAgdm9pZCByZXF1ZXN0KFdlYkNvcmU6OkNsaWVudE9y
aWdpbiYmLCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYpIGZpbmFsOworICAgIHZvaWQgYWRk
T2JzZXJ2ZXIoV2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyJikgZmluYWw7CisgICAgdm9pZCBy
ZW1vdmVPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImKSBmaW5hbDsKKworICAg
IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBxdWVyeUNhY2hlKGNvbnN0IFdlYkNvcmU6OkNsaWVu
dE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJik7CisgICAgdm9p
ZCB1cGRhdGVDYWNoZShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBjb25zdCBXZWJDb3Jl
OjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk7CisgICAg
dm9pZCB0cnlQcm9jZXNzaW5nUmVxdWVzdCgpOworICAgIHZvaWQgcGVybWlzc2lvbkNoYW5nZWQo
Y29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRl
c2NyaXB0b3ImLCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpOworCisgICAgV2Vha1B0cjxXZWJQ
YWdlPiBtX3BhZ2U7CisgICAgV2Vha0hhc2hTZXQ8V2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVy
PiBtX29ic2VydmVyczsKKworICAgIHVzaW5nIFBlcm1pc3Npb25FbnRyeSA9IHN0ZDo6cGFpcjxX
ZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciwgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlPjsK
KyAgICBIYXNoTWFwPFdlYkNvcmU6OkNsaWVudE9yaWdpbiwgVmVjdG9yPFBlcm1pc3Npb25FbnRy
eT4+IG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXM7CisKKyAgICBzdHJ1Y3QgUGVybWlzc2lvblJl
cXVlc3QgeworICAgICAgICBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luOworICAgICAgICBX
ZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yOworICAgICAgICBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+IGNvbXBsZXRpb25IYW5k
bGVyOworICAgICAgICBib29sIGlzV2FpdGluZ0ZvclJlcGx5IHsgZmFsc2UgfTsKKyAgICB9Owor
ICAgIERlcXVlPFBlcm1pc3Npb25SZXF1ZXN0PiBtX3JlcXVlc3RzOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAppbmRleCAwNGUzYWUyMDE0M2YyZjNkYmQyMDY0YTMwMmYwMWI4NGVkY2E5NjQ1Li43MTFl
ZDhlOTIyNzZlYjkzMWY1NDQ1Yzc0ZmQ2YzNiMGU5ZWI1NDFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTIxLDYgKzEyMSw3IEBACiAjaW5j
bHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQYXltZW50Q29vcmRp
bmF0b3IuaCIKICNpbmNsdWRlICJXZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaCIKKyNpbmNs
dWRlICJXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIldlYlBsdWdpbkluZm9Q
cm92aWRlci5oIgogI2luY2x1ZGUgIldlYlBvcHVwTWVudS5oIgogI2luY2x1ZGUgIldlYlByZWZl
cmVuY2VzRGVmaW5pdGlvbnMuaCIKQEAgLTU2Myw3ICs1NjQsOCBAQCBXZWJQYWdlOjpXZWJQYWdl
KFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFt
ZXRlcnMpCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KG1fbWFp
bkZyYW1lLmNvcHlSZWYoKSksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViU3BlZWNoUmVjb2du
aXRpb25Qcm92aWRlcj4obV9pZGVudGlmaWVyKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxNZWRp
YVJlY29yZGVyUHJvdmlkZXI+KCp0aGlzKSwKLSAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkuYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KCkKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkuYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KCksCisgICAgICAgIG1ha2VVbmlxdWVSZWY8
V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI+KCp0aGlzKQogICAgICk7CiAgICAgcGFnZUNvbmZpZ3Vy
YXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudCgqdGhpcyk7CiAjaWYgRU5B
QkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmgKaW5kZXggYmJm
OGQxYmI4Y2U2YzMwMWRjM2VmMjAxOTUzZDgyZmVjMDVlZGQ1OC4uNTZiYzgxYzc4ZjM0YWE0NTM0
NzkzNWQyNzFlYzU3MGMzZmM3ZWU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaApA
QCAtNTAsNyArNTAsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgc3RhcnROb3RpZmljYXRpb25NZWNo
YW5pc20oKSBmaW5hbDsKICAgICB2b2lkIHN0b3BOb3RpZmljYXRpb25NZWNoYW5pc20oKSBmaW5h
bDsKIAotICAgIHZvaWQgYWRqdXN0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKEZyYW1lc1BlclNl
Y29uZCkgZmluYWw7CisgICAgdm9pZCBhZGp1c3RQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQoV2Vi
Q29yZTo6RnJhbWVzUGVyU2Vjb25kKSBmaW5hbDsKIAogICAgIERpc3BsYXlMaW5rT2JzZXJ2ZXJJ
RCBtX29ic2VydmVySUQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlJ1bkxvb3BPYnNl
cnZlcj4gbV9ydW5Mb29wT2JzZXJ2ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KaW5kZXggY2Q2YTVmNTcyOTk0ZjdlYzRmYmRlNzYzN2RmODY3YmQ1MmYzYzgz
NC4uNDgwM2ViYzllYzc3ZTg4ZTE1YjI4ZTJiZWRjMTZkNjczYTcyODljZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTk1LDYgKzE5NSw3IEBACiAj
aW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFnZUNvbmZpZ3VyYXRp
b24uaD4KICNpbXBvcnQgPFdlYkNvcmUvUGF0aFV0aWxpdGllcy5oPgorI2ltcG9ydCA8V2ViQ29y
ZS9QZXJtaXNzaW9uQ29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybUV2ZW50
RmFjdG9yeU1hYy5oPgogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybVNjcmVlbi5oPgogI2ltcG9y
dCA8V2ViQ29yZS9Qcm9ncmVzc1RyYWNrZXIuaD4KQEAgLTE1MzYsNyArMTUzNyw4IEBAIHN0YXRp
YyB2b2lkIFdlYktpdEluaXRpYWxpemVHYW1lcGFkUHJvdmlkZXJJZk5lY2Vzc2FyeSgpCiAgICAg
ICAgIG1ha2VVbmlxdWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KCksCiAgICAgICAgIG1ha2VV
bmlxdWVSZWY8V2ViQ29yZTo6RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigpLAogICAg
ICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKSwKLSAg
ICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShbW3NlbGYgcHJl
ZmVyZW5jZXNdIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdKQorICAgICAgICBXZWJCcm9hZGNhc3RD
aGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZF0pLAorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15UGVy
bWlzc2lvbkNvbnRyb2xsZXI+KCkKICAgICApOwogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQog
ICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQo
c2VsZik7CkBAIC0xODE0LDcgKzE4MTYsOCBAQCBzdGF0aWMgdm9pZCBXZWJLaXRJbml0aWFsaXpl
R2FtZXBhZFByb3ZpZGVySWZOZWNlc3NhcnkoKQogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkZy
YW1lTG9hZGVyQ2xpZW50PigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15
U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJD
b3JlOjpNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCksCi0gICAgICAgIFdlYkJyb2FkY2FzdENoYW5u
ZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoW1tzZWxmIHByZWZlcmVuY2VzXSBwcml2YXRlQnJvd3Np
bmdFbmFibGVkXSkKKyAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNy
ZWF0ZShbW3NlbGYgcHJlZmVyZW5jZXNdIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdKSwKKyAgICAg
ICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpEdW1teVBlcm1pc3Npb25Db250cm9sbGVyPigpCiAg
ICAgKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21l
Q2xpZW50SU9TKHNlbGYpOwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlZpZXcuY3BwCmluZGV4IDFjZjMyZGEyNGEwOTBjZmUzZDJiNjUyOWNhODNmODI2YzU1
ODJlOWQuLmMxOWU4ZWZmNTdmODE5MGVhMmM0YmNlMzE1ZjBmODBiMzkyYzE5YjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC0xMzgsNiArMTM4LDcgQEAKICNpbmNsdWRlIDxX
ZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdlQ29uZmlndXJh
dGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGF0aFV0aWxpdGllcy5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvUGVybWlzc2lvbkNvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3Jt
S2V5Ym9hcmRFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1Nb3VzZUV2ZW50Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybVdoZWVsRXZlbnQuaD4KQEAgLTMxMzMsNyArMzEz
NCw4IEBAIEhSRVNVTFQgV2ViVmlldzo6aW5pdFdpdGhGcmFtZShSRUNUIGZyYW1lLCBfSW5fIEJT
VFIgZnJhbWVOYW1lLCBfSW5fIEJTVFIgZ3JvdXBOCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2Vi
RnJhbWVMb2FkZXJDbGllbnQ+KHdlYkZyYW1lKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1t
eVNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8TWVk
aWFSZWNvcmRlclByb3ZpZGVyPigpLAotICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0
cnk6OmdldE9yQ3JlYXRlKGZhbHNlKQorICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0
cnk6OmdldE9yQ3JlYXRlKGZhbHNlKSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1teVBlcm1p
c3Npb25Db250cm9sbGVyPigpCiAgICAgKTsKICAgICBjb25maWd1cmF0aW9uLmNocm9tZUNsaWVu
dCA9IG5ldyBXZWJDaHJvbWVDbGllbnQodGhpcyk7CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggZjEzNWZkYzMwOTc1NjA5NzZkYTgwOGM5OTg5ZjAwNzNiYzkxZDRlOS4uODhhYmIw
M2I2YjZmMzgyZTFiMzE2YmY5YmFjMmYzY2Y0MDg1MjQwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDIxLTA4LTI2ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAg
IEFkZCBzdHVicyBmb3IgUGVybWlzc2lvbnMgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzMzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIx
LTA4LTI1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgQ3Jhc2ggaW4gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnJlc2hhcGVEaXNwbGF5QnVm
ZmVyQmFja2luZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOGE2NjUwZjg4Mjg0
OTk4MDJhOWQyMGVmZTY5YjU0MzM3YjY0NGI4Zi4uMzlhZTI4Zjc0NDNiNGQ0M2MxMTQ0NzY5MTNl
ZGZmNDEwMzYwNDVhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTkgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Np
b25zL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24tZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJt
aXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lv
bnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1m
ZXRjaC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQ6CisKIDIwMjEtMDgtMjUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBbTWFjIHdrMl0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVwb3J0aW5nLXRvLWZyYW1lLW93bmVy
Lmh0dHBzLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2YmRl
MmY5NGVhZDIxN2I4NjQ0MzI1NzE4YzFmNGM2MjExZjI3NjcwLi44YmM5MzY4ZDhhOGVkMjhiYWFh
NTQxM2RiZjhhYmYyYzE2ZmQxOTFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE5Niw2ICsxOTYs
NyBAQCBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3Blcm1pc3Npb24tZXJyb3IuaHRtbCBbIFNraXAg
XQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1yZWNvZ25pdGlvbi10aGVuLXN0b3AuaHRt
bCBbIFNraXAgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1zZWNvbmQtcmVjb2duaXRp
b24uaHRtbCBbIFNraXAgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9pb3MvIFsgU2tpcCBdCitp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zLyBbIFNraXAgXQogCiAj
IGFwcC1wcml2YWN5LXJlcG9ydCB0ZXN0cyByZWx5IG9uIFdlYktpdEFkZGl0aW9ucwogaHR0cC90
ZXN0cy9hcHAtcHJpdmFjeS1yZXBvcnQvIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3Mu
YW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGI4NGQ0
MGQ3NjVmMjA0MDgzZGVmOGI2NzcwMGM0MjA0NGIwMzQ2OTguLjBjNGJhYTBjZmVlMDFmOTRjZWFm
NGFmN2ZiMzhmODliNGZiNmJiZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CkBAIC0xOSwyOSArMTksMjkgQEAg
UEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBuYW1lcyBh
cmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JMYW5ndWFn
ZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVz
IE5hdmlnYXRvck9uTGluZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2
aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVyIG5hbWVz
IGFyZSB1bmlxdWUKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVk
IHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0
dXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVy
dHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1p
c3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNz
aW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwot
RkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJt
aXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2lu
ZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0
eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQ
ZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlz
c2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1p
c3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5n
Ci1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlz
c2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcK
LUZBSUwgUGVybWlzc2lvblN0YXR1cyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHBlcm1p
c3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFs
dWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwgU3RyaW5naWZp
Y2F0aW9uIG9mIHBlcm1pc3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNl
cHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0
ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIK
LUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJzdGF0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFs
czogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBu
dWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
cGVybWlzc2lvblN0YXR1cyIKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1p
c3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNoYW5nZSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0
aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjog
Q2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwgUGVybWlzc2lvbnMg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJt
aXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBl
cm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9i
amVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3Np
bmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5
ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25z
dHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9u
cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJv
cGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwot
RkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeShvYmplY3QpIGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Np
b25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlz
c2lvbnMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMg
YXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQg
Z290ICJ1bmRlZmluZWQiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuYXZpZ2F0b3IucGVybWlz
c2lvbnMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0
IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogbmF2aWdh
dG9yLnBlcm1pc3Npb25zIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVlcnkob2JqZWN0KSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBl
Y3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIFBlcm1pc3Npb25zIGludGVy
ZmFjZTogY2FsbGluZyBxdWVyeShvYmplY3QpIG9uIG5hdmlnYXRvci5wZXJtaXNzaW9ucyB3aXRo
IHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9lcXVhbHM6IHdy
b25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgot
RkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGVybWlzc2lvbnMgYXNzZXJ0X3Ry
dWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJwZXJtaXNzaW9u
cyIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogbmF2
aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGVybWlzc2lvbnMiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInBlcm1pc3Npb25zIiBub3QgZm91bmQg
aW4gcHJvdG90eXBlIGNoYWluCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50
ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1Mg
UGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1Mg
UGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1Mg
UGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZQorUEFTUyBQZXJtaXNz
aW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlCitQQVNTIFBlcm1pc3Npb25T
dGF0dXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBwZXJtaXNzaW9uU3RhdHVzCitQQVNT
IFN0cmluZ2lmaWNhdGlvbiBvZiBwZXJtaXNzaW9uU3RhdHVzCitQQVNTIFBlcm1pc3Npb25TdGF0
dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3Rh
dGUiIHdpdGggdGhlIHByb3BlciB0eXBlCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNl
OiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jaGFuZ2UiIHdpdGgg
dGhlIHByb3BlciB0eXBlCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJm
YWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1l
CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
ImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5z
Y29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24g
cXVlcnkob2JqZWN0KQorUEFTUyBQZXJtaXNzaW9ucyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNl
IG9mIG5hdmlnYXRvci5wZXJtaXNzaW9ucworUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmF2aWdh
dG9yLnBlcm1pc3Npb25zCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogbmF2aWdhdG9yLnBl
cm1pc3Npb25zIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVlcnkob2JqZWN0KSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBjYWxsaW5nIHF1ZXJ5KG9i
amVjdCkgb24gbmF2aWdhdG9yLnBlcm1pc3Npb25zIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVz
dCB0aHJvdyBUeXBlRXJyb3IKK1BBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIHBl
cm1pc3Npb25zCitQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IG5hdmlnYXRvciBtdXN0IGluaGVy
aXQgcHJvcGVydHkgInBlcm1pc3Npb25zIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Np
b25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndv
cmtlci1leHBlY3RlZC50eHQKaW5kZXggNTI1NjAyZDE2ZDdmMGY1NGNhOGVmMDNmN2ZjZjViNGVl
ZWYzMTY5Ny4uMDYyYjI5NTdmMzE1NTFiMzUyYTQ5NTQxNmMzZjRhYmZhNTc5OWU2ZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMTksMjUgKzE5LDI1IEBAIFBBU1MgV29ya2VyTmF2
aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFT
UyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JPbkxp
bmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRl
cyBOYXZpZ2F0b3JDb25jdXJyZW50SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCi1G
QUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVy
bWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBv
YmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9u
U3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBu
YW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
IlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBt
aXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhw
ZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lv
blN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIg
ZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlz
c2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1
cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNz
aW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4
cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCitQQVNTIFBlcm1pc3Np
b25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IG9iamVjdAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQ
QVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBlcm1pc3Np
b25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25z
dHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5z
Y29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBzdGF0ZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIG9u
Y2hhbmdlCiBGQUlMIFBlcm1pc3Npb25TdGF0dXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBv
ZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdo
ZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCiBGQUlMIFN0
cmluZ2lmaWNhdGlvbiBvZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0
ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290
IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25T
dGF0dXMiCiBGQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVz
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RhdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2Vy
dF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhw
ZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCiBGQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNl
OiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jaGFuZ2UiIHdpdGgg
dGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4g
ZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBlcm1p
c3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBv
YmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwot
RkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0
ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVy
ZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25z
IiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBw
cm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVy
bWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFi
bGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1p
c3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2JqZWN0
KSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQ
ZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCitQQVNT
IFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BB
U1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBlcm1pc3Npb25zIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0
eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BB
U1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2JqZWN0KQogRkFJTCBQ
ZXJtaXNzaW9ucyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmlnYXRvci5wZXJtaXNz
aW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3Qi
IGJ1dCBnb3QgInVuZGVmaW5lZCIKIEZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5w
ZXJtaXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJv
YmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKIEZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBu
YXZpZ2F0b3IucGVybWlzc2lvbnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeShvYmplY3Qp
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0
IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBl
cm1pc3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXgg
YzNlODYwNWY4NzI4N2E4MDM4MWY1ZGI4MDZjZGQwNWEyNTU2NWRkZS4uYzJmZDY1ZThkNDAwMmE3
MjMwMTg3YTYxZjUxYzI4MmVmYzFjNmJlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBA
CiAKLUZBSUwgVGVzdCBXZWIgTkZDIFBlcm1pc3Npb24uIHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKQorUEFTUyBUZXN0
IFdlYiBORkMgUGVybWlzc2lvbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0
dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMt
cXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQKaW5k
ZXggZTQyZGRhMjYxMmYyNTdiN2YwMmJiZWVmNjU2MzNiMjViNzM2NDdhNS4uYzRiYTI0OTJlOTkx
OTlkNjY2MDVhOGMwMWFhMDE1MWI5NjI0NjA3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVy
eS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Bl
cm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0
ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCi1GQUlMIFBlcm1pc3Npb25zLnN0YXRlIGlzICJwcm9t
cHQiIHdpdGggYWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLiBhc3Nl
cnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhw
ZWN0ZWQgKHN0cmluZykgInByb21wdCIgYnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIFBlcm1p
c3Npb25zLnN0YXRlIGlzICJwcm9tcHQiIHdpdGggYWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBjcm9z
cy1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1
ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJwcm9tcHQiIGJ1dCBnb3QgKG9i
amVjdCkgbnVsbAotRkFJTCBQZXJtaXNzaW9uLnN0YXRlIGlzICJwcm9tcHQiIGluIHNhbWUtb3Jp
Z2luIGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgi
Z2VvbG9jYXRpb24iKSBleHBlY3RlZCAoc3RyaW5nKSAicHJvbXB0IiBidXQgZ290IChvYmplY3Qp
IG51bGwKLUZBSUwgUGVybWlzc2lvbi5zdGF0ZSBpcyAiZGVuaWVkIiBpbiBjcm9zcy1vcmlnaW4g
aWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KCJnZW9s
b2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJkZW5pZWQiIGJ1dCBnb3QgKG9iamVjdCkgbnVs
bAorUEFTUyBQZXJtaXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93PSJnZW9sb2Nh
dGlvbiIgaW4gc2FtZS1vcmlnaW4gaWZyYW1lcy4KK1BBU1MgUGVybWlzc2lvbnMuc3RhdGUgaXMg
InByb21wdCIgd2l0aCBhbGxvdz0iZ2VvbG9jYXRpb24iIGluIGNyb3NzLW9yaWdpbiBpZnJhbWVz
LgorUEFTUyBQZXJtaXNzaW9uLnN0YXRlIGlzICJwcm9tcHQiIGluIHNhbWUtb3JpZ2luIGlmcmFt
ZXMuCitGQUlMIFBlcm1pc3Npb24uc3RhdGUgaXMgImRlbmllZCIgaW4gY3Jvc3Mtb3JpZ2luIGlm
cmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9j
YXRpb24iKSBleHBlY3RlZCAiZGVuaWVkIiBidXQgZ290ICJwcm9tcHQiCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
cGVybWlzc2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5h
bWUtZXhwZWN0ZWQudHh0CmluZGV4IDExZmIxYTBkNjEyNGRhOTRlMDAxZTdkZDkyM2UwMTdjZTY5
ZTc4YmEuLjBlNGViY2M0N2NjYjkzODkwOGVjZTg0Y2M2OGYxNTNkMDg1Mzc5YTYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lv
bnMvcGVybWlzc2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0
YXR1cy1uYW1lLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IFBlcm1p
c3Npb25TdGF0dXMncyBuYW1lIGF0dHJpYnV0ZS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykiCitQQVNT
IFRlc3QgUGVybWlzc2lvblN0YXR1cydzIG5hbWUgYXR0cmlidXRlLgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Nj
cmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2st
cGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXggODVjN2JiYTVjMmIyNDU5M2Y1MWUyMTQ2YmUy
NWJkMTZmYTA1ZmY1OC4uOGUwZTcwMmQxZjJkZDQ4Y2E2OTk5Y2E1ZmI5NGU1MTJhNjQ1YmU5YiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
c2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAK
IAotRkFJTCBUZXN0ICJzY3JlZW4td2FrZS1sb2NrIiBQZXJtaXNzaW9uLiBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMu
cXVlcnknKSIKK1BBU1MgVGVzdCAic2NyZWVuLXdha2UtbG9jayIgUGVybWlzc2lvbi4KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJt
aXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rl
c3QtYmFja2dyb3VuZC1mZXRjaC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAppbmRleCA5YTk0MjY5
ZmI3NDM4ZmM2M2JlMThkMDBjZDI5OTdjYzU5YmE4ZGQ2Li43ODViYjU4NWY1MTU5NWZkZWEwNTIz
NDE2NzIzODEzYzhkYjIzMTU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1mZXRjaC1wZXJt
aXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1mZXRjaC1wZXJtaXNzaW9u
LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IEJhY2tncm91bmQgRmV0
Y2ggUGVybWlzc2lvbi4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25h
dmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeScpCitQQVNTIFRlc3QgQmFja2dyb3VuZCBGZXRjaCBQ
ZXJtaXNzaW9uLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dyb3VuZC1zeW5jLXBl
cm1pc3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1wZXJt
aXNzaW9uLWV4cGVjdGVkLnR4dAppbmRleCAzMTZkMzUxYTBlMDc1NGIxZTUwOWJmM2NhMGFkYTRi
NjRkZTM1NmE3Li40ZTlmMzdhODc1NmViMTdhMmZiODRmMTE3MDJhMTQzYTg2YjcwOTliIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1p
c3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dyb3VuZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3Rl
ZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCBQZXJpb2RpYyBCYWNrZ3JvdW5kIFN5
bmMgUGVybWlzc2lvbi4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykiCitGQUlMIFRlc3QgUGVyaW9kaWMg
QmFja2dyb3VuZCBTeW5jIFBlcm1pc3Npb24uIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0
YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4
IGRmOTAxMDkwNGQ1NzdlODVhMDc2NjY3YTkzN2FkNzdlNmQ4ZjU5NTcuLmM2OGQzY2EwYjMwY2Rj
ZWU3ZGUxZWI3YmU0MTM2OWEwYmVkYjgzYmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRv
ci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTE4LDYgKzE4LDcgQEAgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGlzIE9LCiBuYXZpZ2F0b3IubWVkaWFTZXNzaW9uIGlzIE9L
CiBuYXZpZ2F0b3IubWltZVR5cGVzIGlzIE9LCiBuYXZpZ2F0b3Iub25MaW5lIGlzIE9LCituYXZp
Z2F0b3IucGVybWlzc2lvbnMgaXMgT0sKIG5hdmlnYXRvci5wbGF0Zm9ybSBpcyBPSwogbmF2aWdh
dG9yLnBsdWdpbnMgaXMgT0sKIG5hdmlnYXRvci5wcm9kdWN0IGlzIE9LCkBAIC01MSw2ICs1Miw3
IEBAIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBpcyBPSwogbmF2aWdhdG9yLm1lZGlhU2Vz
c2lvbiBpcyBPSwogbmF2aWdhdG9yLm1pbWVUeXBlcyBpcyBPSwogbmF2aWdhdG9yLm9uTGluZSBp
cyBPSworbmF2aWdhdG9yLnBlcm1pc3Npb25zIGlzIE9LCiBuYXZpZ2F0b3IucGxhdGZvcm0gaXMg
T0sKIG5hdmlnYXRvci5wbHVnaW5zIGlzIE9LCiBuYXZpZ2F0b3IucHJvZHVjdCBpcyBPSwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2Y2VlMGZhMmQ0ZDVk
ZmY2YjlkNjE4MjdlZWUzZTkxNGQ5NzliOTQ1Li40MDhjOGI0MWJjNDNjYTFiMzNmMDY0NzkxMGEy
YmE1YzY2MzM2ZGJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtODYwLDQgKzg2MCw1IEBAIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vcGVybWlzc2lvbi1l
cnJvci5odG1sIFsgUGFzcyBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXJlY29nbml0
aW9uLXRoZW4tc3RvcC5odG1sIFsgUGFzcyBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0
LXNlY29uZC1yZWNvZ25pdGlvbi5odG1sIFsgUGFzcyBdCiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVu
LWVudGVyLXdoaWxlLWV4aXRpbmcuaHRtbCBbIFBhc3MgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy8gWyBQYXNzIF0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436598</attachid>
            <date>2021-08-26 18:18:10 -0700</date>
            <delta_ts>2021-08-27 10:13:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210826181809.patch</filename>
            <type>text/plain</type>
            <size>126030</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLjAwYTQ0NjI0ZDI5YWZhNmM4YmNjZTcxM2MyZWU4N2U5Zjc5NTk4
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIxLTA4LTI1
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92
ZSBzb21lIGlPUy1zcGVjaWZpYyBjb21waWxlLXRpbWUgZ3VhcmRzIHRoYXQgYXJlIG5vIGxvbmdl
ciBuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYTkzNTJkZDhlZjlkY2Q5NWZiZDY3MTJiNTRlYjRlZWZm
ZWQyNWMyLi5kODI4YTAwNWQ2NDhiMDgxOWJhMGI5OTdiY2FhMGY1N2I5MjkyNzVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNjkgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiaW5kaW5ncyBj
b2RlIGFuZCBhIGZlYXR1cmUgZmxhZyBmb3IgUGVybWlzc2lvbnMgQVBJLgorICAgICAgICBTcGVj
OiBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLiBSZWJhc2VsaW5lIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9kdWxlcy9w
ZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAg
ICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6b3BlcmF0b3I9
PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yOjpkZWNvZGUp
OgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmg6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZl
ci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OlBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6flBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6c3RhdGVDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUg
Y29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uczo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpQZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJtaXNzaW9uczo6bmF2aWdhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25z
OjpxdWVyeSk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbDogQWRk
ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIGRv
bS9UYXNrU291cmNlLmg6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMpOgorICAgICAg
ICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX3Blcm1pc3Npb25Db250cm9s
bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnBlcm1pc3Npb25Db250cm9sbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Om1faHR0cHNVcGdyYWRlRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAg
ICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24pOgor
ICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKKwogMjAyMS0wOC0yNSAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGlu
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggNDI0MWIyZTZmYTc4NTRmMTVmZDMzYzZjYTljN2ZlYjM3YmMxZGIyMS4uMDM2Yzkz
YjFjMmI5YzE0NzkwZTI1OTVmM2IyOGVmZWVlODRmNGMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MyBAQAorMjAyMS0wOC0yNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2V0IHVwIGJhc2ljIGluZnJhc3RyY3R1cmUgb2Yg
cGVybWlzc2lvbiBnZXR0aW5nIGFuZCBzZXR0aW5nLgorCisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBl
cm1pc3Npb25Db250cm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRy
b2xsZXI6OnF1ZXJ5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6
OnJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVl
cnlDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRh
dGVDYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQ
cm9jZXNzaW5nUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjphZGRPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9s
bGVyOjpyZW1vdmVPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250
cm9sbGVyOjpwZXJtaXNzaW9uQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fYXBwSGlnaGxp
Z2h0c1Zpc2libGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFjLmg6CisKIDIwMjEtMDgtMjYgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25v
cmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW2N1cmxdIFJFR1JFU1NJT04ocjI4MTE1OCk6
IGZldGNoKCdodHRwOi8vbG9jYWxob3N0LycpIGZyb20gYWJvdXQ6YmxhbmsgZG9lc24ndCBlbWl0
IHRoZSBjb25zb2xlIGVycm9yIG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRl
eCA0NWE1NDg2ZTA1ODA1ZDk3YmMxZTQ4YjQ0ZjkzZGEzMDMyOGE2YTFkLi5mZjc3YjQ5NWE4MmVj
OTI4MzQ5MTU4NGQ2MWFkZDJkZjA5NDg5NzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5h
bWU6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IGluaXRTaW1wbGVIVE1MRG9jdW1l
bnRXaXRoU3R5bGU6ZnJhbWU6cHJlZmVyZW5jZXM6Z3JvdXBOYW1lOl0pOgorCiAyMDIxLTA4LTI0
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gSW1wbGVt
ZW50IHByb2Nlc3Mtc3dhcHBpbmcgYmFzZWQgb24gQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xpY3kg
SFRUUCBoZWFkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCBlMjgxNTEwMjk4YThj
NzM2NDFkYzQwNDk1Njk3YTJkZjQ1YTUxM2NhLi42MGE4ZDQ3NjMzNjA4NzU4ZWY4ODU0MmJmYWFj
YjZiOGI5OTY5ZjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMjEtMDgtMjYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3
Ojppbml0V2l0aEZyYW1lKToKKwogMjAyMS0wOC0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXSzJdIEltcGxlbWVudCBwcm9jZXNzLXN3YXBwaW5nIGJhc2Vk
IG9uIENyb3NzLU9yaWdpbi1PcGVuZXItUG9saWN5IEhUVFAgaGVhZGVyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwu
eWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVy
aW1lbnRhbC55YW1sCmluZGV4IDE4NWE1YWMwZjQ1NGM3NmMwMzQ3OTJhZDE4NTc2MWZjY2E2OTQ5
OTEuLjU1NTQ2MDBkYmM2NjU4ZmExY2FiMmQwNThjZDUzNWRhZjUyOTMxYzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRh
bC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNl
c0V4cGVyaW1lbnRhbC55YW1sCkBAIC04ODEsNiArODgxLDE4IEBAIFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmdTZW5zaXRpdmVQcm9wZXJ0aWVzRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAg
ZGVmYXVsdDogZmFsc2UKIAorUGVybWlzc2lvbnNBUElFbmFibGVkOgorICB0eXBlOiBib29sCisg
IGh1bWFuUmVhZGFibGVOYW1lOiAiUGVybWlzc2lvbnMgQVBJIgorICBodW1hblJlYWRhYmxlRGVz
Y3JpcHRpb246ICJFbmFibGUgUGVybWlzc2lvbnMgQVBJIgorICBkZWZhdWx0VmFsdWU6CisgICAg
V2ViS2l0TGVnYWN5OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAgICBk
ZWZhdWx0OiBmYWxzZQorICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiBQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudERlYnVnTW9kZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgaHVt
YW5SZWFkYWJsZU5hbWU6ICJQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50IERlYnVnIE1vZGUiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IGJiYjg0MmE1MzlhMTA4N2M5ZTFkYjQ2M2QwMTlkZDJiMTIz
MTQyYzkuLjA3ZTVlMDU1OGY2ZGRkNDExZWM0Y2Y1OTZkZTM0M2Y0ODNjMDk3N2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC00OCw2ICs0OCw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfSU5DTFVE
RV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRl
bnR1dGlscyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9ub3RpZmljYXRpb25zIgogICAg
ICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0IgorICAgICIke1dFQkNPUkVf
RElSfS9Nb2R1bGVzL3Blcm1pc3Npb25zIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3Bp
Y3R1cmVpbnBpY3R1cmUiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGx1Z2lucyIKICAg
ICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9yZW1vdGVwbGF5YmFjayIKQEAgLTIwMSw2ICsyMDIs
NyBAQCBzZXQoV2ViQ29yZV9JRExfSU5DTFVERVMKICAgICBNb2R1bGVzL21vZGVsLWVsZW1lbnQK
ICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0Cisg
ICAgTW9kdWxlcy9wZXJtaXNzaW9ucwogICAgIE1vZHVsZXMvc3BlZWNoCiAgICAgTW9kdWxlcy9z
dHJlYW1zCiAgICAgTW9kdWxlcy93ZWJhdWRpbwpAQCAtNDYwLDYgKzQ2MiwxMyBAQCBzZXQoV2Vi
Q29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVu
dFNoaXBwaW5nVHlwZS5pZGwKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRWYWxp
ZGF0aW9uRXJyb3JzLmlkbAogCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVy
bWlzc2lvbnMuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRv
ci5pZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbAorICAgIE1v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbAorICAgIE1vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25zLmlkbAorCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50K1BpY3R1
cmVJblBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50T3JT
aGFkb3dSb290K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0
dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggMzliMmIzMDA0ZTRjNTc5NDM3ZTY1
YWNhOTczMjdjNzhkNGQ3NDVkZS4uNTExYjUxMzEyMDBhYmVjODNiZTQ5MDdhN2JlNDE5MjNhNjJm
MzY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVs
aXN0CkBAIC0zODgsNiArMzg4LDEyIEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5bWVudHJl
cXVlc3QvUGF5bWVudFJlc3BvbnNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wYXltZW50
cmVxdWVzdC9QYXltZW50U2hpcHBpbmdPcHRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ1R5cGUuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzLmlkbAorJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlk
bAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwK
KyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudCtQaWN0dXJlSW5QaWN0
dXJlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50
T3JTaGFkb3dSb290K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuaWRsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDE5Njcx
Zjc1MDZkNmE3OTM3NGM1ZWE0NWFjNzcxZmM3ZjFiNzk1MmIuLjliNDg0YWJhNDhjMmM1Y2ZjNjBh
Y2VlZWMyOTNlYmNhOWMzOTcxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xMzc3LDYgKzEzNzcsOCBAQCAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitNZWRpYURldmljZXMu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmln
YXRvcitNZWRpYURldmljZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFTZXNzaW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFTZXNzaW9uLmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1Bl
cm1pc3Npb25zLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOYXZpZ2F0b3IrUGVybWlzc2lvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViRHJpdmVyLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViRHJpdmVyLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9y
K1dlYlhSLmNwcApAQCAtMTU4Myw2ICsxNTg1LDE2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZUNv
bnN0cmFpbnRzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUGVyaW9kaWNXYXZlT3B0aW9ucy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlT3B0aW9ucy5oCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25EZXNjcmlwdG9yLmNwcAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9u
RGVzY3JpcHRvci5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1Blcm1pc3Npb25OYW1lLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uTmFtZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0ZS5jcHAKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvblN0YXRlLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvblN0YXR1
cy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVy
bWlzc2lvblN0YXR1cy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1Blcm1pc3Npb25zLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9ucy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BpY3R1cmVJblBpY3R1cmVXaW5k
b3cuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQbGF5
YmFja0RpcmVjdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGQ2NGU2
NWU4NmU1ZTExNDI2NjdhOWUzODI3NjgzYTk2OTJmMjdhZjEuLmY5ZWU2NDI4YmEwYTU0ZDU0YzAy
NTdhYTZkNmEwMDAxZTJlNDIxYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAt
MzI0LDYgKzMyNCwxMiBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdPcHRpb24uaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nVHlwZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVy
cm9ycy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3Ir
UGVybWlzc2lvbnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbk5hbWUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvblN0YXRlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0dXMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlu
cGljdHVyZS9Eb2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGljdHVyZUluUGlj
dHVyZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVy
UGljdHVyZUluUGljdHVyZUV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9I
ZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCBlYjA3Yjgw
Yzk5MzNkNjlhOGMzNjMxOTE4Yzc1ZGJlNGUzN2E5MmI4Li43NmNlMGM2NjFmZWU4MzBkMTc2ZTM2
MWY1Nzk4NzM1YzdhZTFlMGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNt
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTEyOSw2ICsxMjksMTIg
QEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIE1vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uLmgKICAgICBNb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgKIAorICAgIE1vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbkRlc2NyaXB0b3IuaAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bk5hbWUuaAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk9ic2VydmVyLmgKKyAg
ICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCisKICAgICBNb2R1bGVzL3Bs
dWdpbnMvUGx1Z2luUmVwbGFjZW1lbnQuaAogICAgIE1vZHVsZXMvcGx1Z2lucy9Zb3VUdWJlUGx1
Z2luUmVwbGFjZW1lbnQuaAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBi
MTI3ZTdmM2ExYzU2NjZjZDBkMGM4OGZlOTExZTk2YzgzNGY2NQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25z
LmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3Blcm1pc3Npb25zLyNuYXZpZ2F0b3ItYW5kLXdvcmtlcm5hdmlnYXRvci1leHRlbnNpb24K
KworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCisgICAgSW1wbGVtZW50
ZWRCeT1OYXZpZ2F0b3JQZXJtaXNzaW9ucworXSBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3Ig
eworICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgUGVybWlzc2lvbnMgcGVybWlz
c2lvbnM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTFmNTU1ODg2ZDhl
NzFhMzQ5ZWU3NWJmM2M0MTZmMDJmMWM0N2FiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKQEAgLTAs
MCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJO
YXZpZ2F0b3JQZXJtaXNzaW9ucy5oIgorCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVk
ZSAiUGVybWlzc2lvbnMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitOYXZpZ2F0b3JQZXJt
aXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMoTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCisgICAg
OiBtX25hdmlnYXRvcihuYXZpZ2F0b3IpCit7Cit9CisKK1JlZlB0cjxQZXJtaXNzaW9ucz4gTmF2
aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9yKQorewor
ICAgIHJldHVybiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6ZnJvbShuYXZpZ2F0b3IpLT5wZXJtaXNz
aW9ucygpOworfQorCitSZWZQdHI8UGVybWlzc2lvbnM+IE5hdmlnYXRvclBlcm1pc3Npb25zOjpw
ZXJtaXNzaW9ucygpCit7CisgICAgaWYgKCFtX3Blcm1pc3Npb25zKQorICAgICAgICBtX3Blcm1p
c3Npb25zID0gUGVybWlzc2lvbnM6OmNyZWF0ZShtX25hdmlnYXRvcik7CisKKyAgICByZXR1cm4g
bV9wZXJtaXNzaW9uczsKK30KKworTmF2aWdhdG9yUGVybWlzc2lvbnMqIE5hdmlnYXRvclBlcm1p
c3Npb25zOjpmcm9tKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIGF1dG8qIHN1cHBsZW1l
bnQgPSBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JQZXJtaXNzaW9ucyo+KFN1cHBsZW1lbnQ8TmF2aWdh
dG9yPjo6ZnJvbSgmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpKSk7CisgICAgaWYgKCFzdXBw
bGVtZW50KSB7CisgICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9IG1ha2VVbmlxdWU8TmF2aWdh
dG9yUGVybWlzc2lvbnM+KG5hdmlnYXRvcik7CisgICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBw
bGVtZW50LmdldCgpOworICAgICAgICBwcm92aWRlVG8oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5h
bWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CisgICAgfQorCisgICAgcmV0dXJuIHN1cHBs
ZW1lbnQ7Cit9CisKK2NvbnN0IGNoYXIqIE5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50
TmFtZSgpCit7CisgICAgcmV0dXJuICJOYXZpZ2F0b3JQZXJtaXNzaW9ucyI7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MGE3MzlkYTcx
NDQwYzdhMzNiMjMyY2FlOTgzNTIwMTlmZGE0NDRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oCkBAIC0w
LDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlN1cHBs
ZW1lbnRhYmxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yOwor
Y2xhc3MgUGVybWlzc2lvbnM7CisKK2NsYXNzIE5hdmlnYXRvclBlcm1pc3Npb25zIGZpbmFsIDog
cHVibGljIFN1cHBsZW1lbnQ8TmF2aWdhdG9yPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CisgICAgZXhwbGljaXQgTmF2aWdhdG9yUGVybWlzc2lvbnMoTmF2aWdhdG9y
Jik7CisKKyAgICBzdGF0aWMgUmVmUHRyPFBlcm1pc3Npb25zPiBwZXJtaXNzaW9ucyhOYXZpZ2F0
b3ImKTsKKyAgICBSZWZQdHI8UGVybWlzc2lvbnM+IHBlcm1pc3Npb25zKCk7CisKK3ByaXZhdGU6
CisgICAgc3RhdGljIE5hdmlnYXRvclBlcm1pc3Npb25zKiBmcm9tKE5hdmlnYXRvciYpOworICAg
IHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOworCisgICAgUmVmUHRyPFBlcm1p
c3Npb25zPiBtX3Blcm1pc3Npb25zOworICAgIE5hdmlnYXRvciYgbV9uYXZpZ2F0b3I7Cit9Owor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25Db250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE3OWRmNDM5YTBmYzE5ZTYyZDczMWU0
YTYwMzI4MDUzMzQ3NjA4MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaApAQCAtMCwwICsxLDU0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJtaXNzaW9uT2JzZXJ2ZXIu
aCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdGUuaCIKKyNpbmNsdWRlIDx3dGYvQ29tcGxldGlv
bkhhbmRsZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQZXJtaXNzaW9uT2Jz
ZXJ2ZXI7CitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7CisKK2NsYXNzIFBlcm1pc3Npb25D
b250cm9sbGVyIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFBlcm1pc3Npb25Db250cm9sbGVyPiB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UGVy
bWlzc2lvbkNvbnRyb2xsZXIoKSA9IGRlZmF1bHQ7CisgICAgdmlydHVhbCBQZXJtaXNzaW9uU3Rh
dGUgcXVlcnkoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlwdG9yJiYpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgcmVxdWVzdChDbGllbnRPcmlnaW4mJiwgUGVybWlzc2lvbkRlc2NyaXB0
b3ImJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChQZXJtaXNzaW9uU3RhdGUpPiYmKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIGFkZE9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgcmVtb3ZlT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgPSAwOwor
fTsKKworY2xhc3MgRHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlciBmaW5hbCA6IHB1YmxpYyBQZXJt
aXNzaW9uQ29udHJvbGxlciB7CisgICAgUGVybWlzc2lvblN0YXRlIHF1ZXJ5KENsaWVudE9yaWdp
biYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmKSBmaW5hbCB7IHJldHVybiBQZXJtaXNzaW9uU3Rh
dGU6OkRlbmllZDsgfQorICAgIHZvaWQgcmVxdWVzdChDbGllbnRPcmlnaW4mJiwgUGVybWlzc2lv
bkRlc2NyaXB0b3ImJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChQZXJtaXNzaW9uU3RhdGUpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKSBmaW5hbCB7IGNvbXBsZXRpb25IYW5kbGVyKFBlcm1pc3Npb25T
dGF0ZTo6RGVuaWVkKTsgfQorICAgIHZvaWQgYWRkT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVy
JikgZmluYWwgeyB9CisgICAgdm9pZCByZW1vdmVPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXIm
KSBmaW5hbCB7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3Iu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40ZTg0YjJkNGM3N2E5OGU5NWI2NjQ5OGRjNGQwYjM4YTkwODllMWU1Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uRGVzY3JpcHRvci5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2luY2x1ZGUgIlBlcm1pc3Npb25OYW1lLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworc3RydWN0IFBlcm1pc3Npb25EZXNjcmlwdG9yIHsKKyAgICBQZXJtaXNzaW9uTmFtZSBu
YW1lOworCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFBlcm1pc3Npb25EZXNjcmlwdG9yJiBk
ZXNjcmlwdG9yKSBjb25zdCB7IHJldHVybiBuYW1lID09IGRlc2NyaXB0b3IubmFtZTsgfQorICAg
IHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAg
ICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxQZXJtaXNzaW9u
RGVzY3JpcHRvcj4gZGVjb2RlKERlY29kZXImKTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+IGlubGluZSB2b2lkIFBlcm1pc3Npb25EZXNjcmlwdG9yOjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IG5hbWU7Cit9CisKK3RlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0ZDo6b3B0aW9uYWw8UGVybWlzc2lvbkRlc2NyaXB0b3I+IFBlcm1pc3Npb25E
ZXNjcmlwdG9yOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBQZXJtaXNzaW9uRGVz
Y3JpcHRvciByZXN1bHQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubmFtZSkpCisg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRm
MzZhMzJhMmNjY2QzMzk5MzliN2RlODM1ZGZlZGJiZjRmNTdjYzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9y
LmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3Blcm1pc3Npb25zLyNkaWN0ZGVmLXBlcm1pc3Npb25kZXNjcmlwdG9yCisKK1sKKyAgICBF
bmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBkaWN0aW9uYXJ5IFBlcm1pc3Npb25E
ZXNjcmlwdG9yIHsKKyAgICByZXF1aXJlZCBQZXJtaXNzaW9uTmFtZSBuYW1lOworfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41Yzk5MzFmZDg0MzhkMzQzMDE2ZjExZDJlZTRjNTczOTNkYWQ4ZTEwCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uTmFtZS5oCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIFBlcm1pc3Npb25OYW1lIDogdWludDhf
dCB7CisgICAgQWNjZWxlcm9tZXRlciwKKyAgICBBbWJpZW50TGlnaHRTZW5zb3IsCisgICAgQmFj
a2dyb3VuZEZldGNoLAorICAgIEJhY2tncm91bmRTeW5jLAorICAgIEJsdWV0b290aCwKKyAgICBD
YW1lcmEsCisgICAgRGlzcGxheUNhcHR1cmUsCisgICAgR2VvbG9jYXRpb24sCisgICAgR3lyb3Nj
b3BlLAorICAgIE1hZ25ldG9tZXRlciwKKyAgICBNaWNyb3Bob25lLAorICAgIE1pZGksCisgICAg
TmZjLAorICAgIE5vdGlmaWNhdGlvbnMsCisgICAgUGVyc2lzdGVudFN0b3JhZ2UsCisgICAgUHVz
aCwKKyAgICBTY3JlZW5XYWtlTG9jaywKKyAgICBTcGVha2VyU2VsZWN0aW9uCit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVj
dCBFbnVtVHJhaXRzPFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lPiB7CisgICAgdXNpbmcgdmFsdWVz
ID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWUsCisgICAgICAg
IFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpBY2NlbGVyb21ldGVyLAorICAgICAgICBXZWJDb3Jl
OjpQZXJtaXNzaW9uTmFtZTo6QW1iaWVudExpZ2h0U2Vuc29yLAorICAgICAgICBXZWJDb3JlOjpQ
ZXJtaXNzaW9uTmFtZTo6QmFja2dyb3VuZEZldGNoLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNz
aW9uTmFtZTo6QmFja2dyb3VuZFN5bmMsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1l
OjpCbHVldG9vdGgsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpDYW1lcmEsCisg
ICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpEaXNwbGF5Q2FwdHVyZSwKKyAgICAgICAg
V2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Okdlb2xvY2F0aW9uLAorICAgICAgICBXZWJDb3JlOjpQ
ZXJtaXNzaW9uTmFtZTo6R3lyb3Njb3BlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFt
ZTo6TWFnbmV0b21ldGVyLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6TWljcm9w
aG9uZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok1pZGksCisgICAgICAgIFdl
YkNvcmU6OlBlcm1pc3Npb25OYW1lOjpOZmMsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25O
YW1lOjpOb3RpZmljYXRpb25zLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6UGVy
c2lzdGVudFN0b3JhZ2UsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpQdXNoLAor
ICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6U2NyZWVuV2FrZUxvY2ssCisgICAgICAg
IFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpTcGVha2VyU2VsZWN0aW9uCisgICAgPjsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kM2FjZGYyOGM2NDIxMTBl
YjYxMGZlOWU5ODdiNmJlNjdkZGRhNjIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwKQEAgLTAsMCArMSw0OSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jZW51
bWRlZi1wZXJtaXNzaW9ubmFtZQorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9u
c0FQSSwKK10gZW51bSBQZXJtaXNzaW9uTmFtZSB7CisgICAgImFjY2VsZXJvbWV0ZXIiLAorICAg
ICJhbWJpZW50LWxpZ2h0LXNlbnNvciIsCisgICAgImJhY2tncm91bmQtZmV0Y2giLAorICAgICJi
YWNrZ3JvdW5kLXN5bmMiLAorICAgICJibHVldG9vdGgiLAorICAgICJjYW1lcmEiLAorICAgICJk
aXNwbGF5LWNhcHR1cmUiLAorICAgICJnZW9sb2NhdGlvbiIsCisgICAgImd5cm9zY29wZSIsCisg
ICAgIm1hZ25ldG9tZXRlciIsCisgICAgIm1pY3JvcGhvbmUiLAorICAgICJtaWRpIiwKKyAgICAi
bmZjIiwKKyAgICAibm90aWZpY2F0aW9ucyIsCisgICAgInBlcnNpc3RlbnQtc3RvcmFnZSIsCisg
ICAgInB1c2giLAorICAgICJzY3JlZW4td2FrZS1sb2NrIiwKKyAgICAic3BlYWtlci1zZWxlY3Rp
b24iCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbk9ic2VydmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTU5OTgzYzZhYmYwNzA5ZDRjMDg5OGJm
YjY1ZmMwZDIxYWVmNzRlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk9ic2VydmVyLmgKQEAgLTAsMCArMSw0NSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCisjaW5j
bHVkZSAiUGVybWlzc2lvblN0YXRlLmgiCisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7CisKK2NsYXNz
IFBlcm1pc3Npb25PYnNlcnZlciA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQZXJtaXNzaW9uT2Jz
ZXJ2ZXI+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJtaXNzaW9uT2JzZXJ2ZXIoKSA9IGRl
ZmF1bHQ7CisKKyAgICB2aXJ0dWFsIHZvaWQgc3RhdGVDaGFuZ2VkKFBlcm1pc3Npb25TdGF0ZSkg
PSAwOworICAgIHZpcnR1YWwgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4oKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCBjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNv
bnN0ID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmVjYWRmNTIwMWUwYzM3YjMwZjRiNzJlYTA4MDQwODU4NGI4ODg0ODQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5o
CkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
PHd0Zi9FbnVtVHJhaXRzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBQ
ZXJtaXNzaW9uU3RhdGUgOiB1aW50OF90IHsKKyAgICBHcmFudGVkLAorICAgIERlbmllZCwKKyAg
ICBQcm9tcHQKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7
CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6UGVybWlzc2lvblN0YXRl
PiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXRlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkdyYW50ZWQs
CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkLAorICAgICAgICBXZWJD
b3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdAorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvblN0YXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvblN0YXRlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTc3OTc4MTJkMTk4NjllZjNlNTFhMmRiOWVh
OGE3YWYxNjhhYzliCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1kZWYtcGVybWlz
c2lvbnN0YXRlCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBl
bnVtIFBlcm1pc3Npb25TdGF0ZSB7CisgICAgImdyYW50ZWQiLAorICAgICJkZW5pZWQiLAorICAg
ICJwcm9tcHQiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTgzYjM0MTY5YzNlNDhlZWRl
NjQ0N2Y4NmQ4Njk4NzIxODNjMDNkOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKQEAgLTAsMCArMSw4MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9u
U3RhdHVzLmgiCisKKyNpbmNsdWRlICJDbGllbnRPcmlnaW4uaCIKKyNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVy
LmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUGVybWlzc2lvblN0YXR1cyk7CisK
K1JlZjxQZXJtaXNzaW9uU3RhdHVzPiBQZXJtaXNzaW9uU3RhdHVzOjpjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgY29udGV4dCwgUGVybWlzc2lvblN0YXRlIHN0YXRlLCBQZXJtaXNzaW9u
RGVzY3JpcHRvciBkZXNjcmlwdG9yKQoreworICAgIGF1dG8gc3RhdHVzID0gYWRvcHRSZWYoKm5l
dyBQZXJtaXNzaW9uU3RhdHVzKGNvbnRleHQsIHN0YXRlLCBkZXNjcmlwdG9yKSk7CisgICAgc3Rh
dHVzLT5zdXNwZW5kSWZOZWVkZWQoKTsKKyAgICByZXR1cm4gc3RhdHVzOworfQorCitQZXJtaXNz
aW9uU3RhdHVzOjpQZXJtaXNzaW9uU3RhdHVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSwgUGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRv
cikKKyAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKKyAgICAsIG1fc3RhdGUoc3RhdGUp
CisgICAgLCBtX2Rlc2NyaXB0b3IoZGVzY3JpcHRvcikKK3sKKyAgICBpZiAoaXM8RG9jdW1lbnQ+
KGNvbnRleHQpKSB7CisgICAgICAgIGlmIChhdXRvIHBhZ2UgPSBkb3duY2FzdDxEb2N1bWVudD4o
KnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkucGFnZSgpKSB7CisgICAgICAgICAgICBtX2NvbnRy
b2xsZXIgPSBtYWtlV2Vha1B0cihwYWdlLT5wZXJtaXNzaW9uQ29udHJvbGxlcigpKTsKKyAgICAg
ICAgICAgIG1fY29udHJvbGxlci0+YWRkT2JzZXJ2ZXIoKnRoaXMpOworICAgICAgICB9CisgICAg
fQorCisgICAgYXV0byogb3JpZ2luID0gY29udGV4dC5zZWN1cml0eU9yaWdpbigpOworICAgIGF1
dG8gb3JpZ2luRGF0YSA9IG9yaWdpbiA/IG9yaWdpbi0+ZGF0YSgpIDogU2VjdXJpdHlPcmlnaW5E
YXRhIHsgfTsKKyAgICBtX29yaWdpbiA9IENsaWVudE9yaWdpbiB7IGNvbnRleHQudG9wT3JpZ2lu
KCkuZGF0YSgpLCBvcmlnaW5EYXRhIH07Cit9CisKK1Blcm1pc3Npb25TdGF0dXM6On5QZXJtaXNz
aW9uU3RhdHVzKCkKK3sKKyAgICBpZiAobV9jb250cm9sbGVyKQorICAgICAgICBtX2NvbnRyb2xs
ZXItPnJlbW92ZU9ic2VydmVyKCp0aGlzKTsKK30KKwordm9pZCBQZXJtaXNzaW9uU3RhdHVzOjpz
dGF0ZUNoYW5nZWQoUGVybWlzc2lvblN0YXRlIG5ld1N0YXRlKQoreworICAgIGlmIChtX3N0YXRl
ICE9IG5ld1N0YXRlKQorICAgICAgICBxdWV1ZVRhc2tUb0Rpc3BhdGNoRXZlbnQoKnRoaXMsIFRh
c2tTb3VyY2U6OlBlcm1pc3Npb24sIEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNoYW5nZUV2
ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKK30K
KworY29uc3QgY2hhciogUGVybWlzc2lvblN0YXR1czo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuICJQZXJtaXNzaW9uU3RhdHVzIjsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uU3RhdHVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25TdGF0dXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNzFlN2E0MjFjZWFlMzI3YjU5YzE4NTQ4
YTdkYTcxNDM2NWQxM2ViCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmgKQEAgLTAsMCArMSw3OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5j
bHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uRGVzY3JpcHRvci5oIgor
I2luY2x1ZGUgIlBlcm1pc3Npb25OYW1lLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbk9ic2VydmVy
LmgiCisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXI7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OworCitjbGFzcyBQZXJtaXNzaW9uU3RhdHVzIGZpbmFsIDogcHVibGljIFBlcm1pc3Npb25P
YnNlcnZlciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIFJlZkNvdW50ZWQ8UGVybWlz
c2lvblN0YXR1cz4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhICB7CisgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChQZXJtaXNzaW9uU3RhdHVzKTsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUmVmPFBlcm1pc3Npb25TdGF0dXM+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwg
UGVybWlzc2lvblN0YXRlLCBQZXJtaXNzaW9uRGVzY3JpcHRvcik7CisgICAgflBlcm1pc3Npb25T
dGF0dXMoKTsKKworICAgIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
c3RhdGU7IH0KKyAgICBQZXJtaXNzaW9uTmFtZSBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kZXNj
cmlwdG9yLm5hbWU7IH0KKworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKKyAgICB1c2luZyBS
ZWZDb3VudGVkOjpkZXJlZjsKKworICAgIHVzaW5nIFBlcm1pc3Npb25PYnNlcnZlcjo6d2Vha1B0
ckZhY3Rvcnk7CisgICAgdXNpbmcgV2Vha1ZhbHVlVHlwZSA9IFBlcm1pc3Npb25PYnNlcnZlcjo6
V2Vha1ZhbHVlVHlwZTsKKworcHJpdmF0ZToKKyAgICBQZXJtaXNzaW9uU3RhdHVzKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBQZXJtaXNzaW9uU3RhdGUsIFBlcm1pc3Npb25EZXNjcmlwdG9yKTsK
KworICAgIC8vIFBlcm1pc3Npb25PYnNlcnZlcgorICAgIHZvaWQgc3RhdGVDaGFuZ2VkKFBlcm1p
c3Npb25TdGF0ZSkgZmluYWw7CisgICAgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4oKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX29yaWdpbjsgfQorICAgIGNvbnN0IFBlcm1pc3Npb25EZXNjcmlw
dG9yJiBkZXNjcmlwdG9yKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9kZXNjcmlwdG9yOyB9CisK
KyAgICAvLyBBY3RpdmVET01PYmplY3QKKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3RO
YW1lKCkgY29uc3QgZmluYWw7CisKKyAgICAvLyBFdmVudFRhcmdldAorICAgIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBBY3RpdmVET01PYmplY3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQorICAgIEV2ZW50
VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gUGVybWlzc2lvblN0YXR1c0V2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQorICAgIHZvaWQg
cmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJlZkV2ZW50VGFy
Z2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CisKKyAgICBQZXJtaXNzaW9uU3RhdGUgbV9zdGF0ZTsK
KyAgICBQZXJtaXNzaW9uRGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7CisgICAgQ2xpZW50T3JpZ2lu
IG1fb3JpZ2luOworICAgIFdlYWtQdHI8UGVybWlzc2lvbkNvbnRyb2xsZXI+IG1fY29udHJvbGxl
cjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmRiNzgxNDJlNjk5ZTIwZTZiZTg2Y2M1Y2UyMDU2ZDFkZWI2OTJlZDAKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworIAorLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3Blcm1pc3Npb25zLyNwZXJtaXNzaW9uc3RhdHVzCisKK1sKKyAgICBBY3RpdmVET01PYmpl
Y3QsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKKyAgICBFeHBvc2VkPShX
aW5kb3csV29ya2VyKQorXSBpbnRlcmZhY2UgUGVybWlzc2lvblN0YXR1cyA6IEV2ZW50VGFyZ2V0
IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgUGVybWlzc2lvblN0YXRlIHN0YXRlOworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBQZXJtaXNzaW9uTmFtZSBuYW1lOworICAgIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25jaGFuZ2U7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZGRiNmJmNTJlMDZkNTIzY2Fi
MzRlOWQxN2RkMTg0ZTYxZTNmODYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAKQEAgLTAsMCArMSw5MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9ucy5oIgor
CisjaW5jbHVkZSAiRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJK
U0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIkpTUGVybWlzc2lvbkRlc2NyaXB0b3Iu
aCIKKyNpbmNsdWRlICJKU1Blcm1pc3Npb25TdGF0dXMuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3Iu
aCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIK
KyNpbmNsdWRlICJQZXJtaXNzaW9uRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxs
b2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9D
QVRFRF9JTVBMKFBlcm1pc3Npb25zKTsKKworUmVmPFBlcm1pc3Npb25zPiBQZXJtaXNzaW9uczo6
Y3JlYXRlKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFBlcm1pc3Npb25zKG5hdmlnYXRvcikpOworfQorCitQZXJtaXNzaW9uczo6UGVybWlzc2lvbnMo
TmF2aWdhdG9yJiBuYXZpZ2F0b3IpCisgICAgOiBtX25hdmlnYXRvcihtYWtlV2Vha1B0cihuYXZp
Z2F0b3IpKQoreworfQorCitOYXZpZ2F0b3IqIFBlcm1pc3Npb25zOjpuYXZpZ2F0b3IoKQorewor
ICAgIHJldHVybiBtX25hdmlnYXRvci5nZXQoKTsKK30KKwordm9pZCBQZXJtaXNzaW9uczo6cXVl
cnkoSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4gcGVybWlzc2lvbkRlc2NyaXB0b3JWYWx1ZSwg
RE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQZXJtaXNzaW9uU3RhdHVzPj4mJiBwcm9t
aXNlKQoreworICAgIGF1dG8gY29udGV4dCA9IG1fbmF2aWdhdG9yID8gbV9uYXZpZ2F0b3ItPnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSA6IG51bGxwdHI7CisgICAgaWYgKCFjb250ZXh0IHx8ICFj
b250ZXh0LT5nbG9iYWxPYmplY3QoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRp
b24geyBJbnZhbGlkU3RhdGVFcnJvciB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IEpTQzo6Vk0mIHZtID0gY29udGV4dC0+Z2xvYmFsT2JqZWN0KCktPnZtKCk7CisgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIGlmICghcGVybWlzc2lvbkRlc2Ny
aXB0b3JWYWx1ZSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBEYXRhRXJy
b3IsICJUaGUgcGFyYW1ldGVyIGlzIGludmFsaWQiX3MgfSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBhdXRvIHBhcmFtZXRlckRlc2NyaXB0b3IgPSBjb252ZXJ0PElETERpY3Rpb25h
cnk8UGVybWlzc2lvbkRlc2NyaXB0b3I+PigqY29udGV4dC0+Z2xvYmFsT2JqZWN0KCksIHBlcm1p
c3Npb25EZXNjcmlwdG9yVmFsdWUuZ2V0KCkpOworICAgIGlmIChVTkxJS0VMWShzY29wZS5leGNl
cHRpb24oKSkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgRXhpc3RpbmdF
eGNlcHRpb25FcnJvciB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8qIGZy
YW1lID0gbV9uYXZpZ2F0b3ItPmZyYW1lKCk7CisgICAgYXV0byogZG9jdW1lbnQgPSBmcmFtZT8g
ZnJhbWUtPmRvY3VtZW50KCkgOiBudWxscHRyOworICAgIGF1dG8qIHBhZ2UgPSBmcmFtZT8gZnJh
bWUtPnBhZ2UoKSA6IG51bGxwdHI7CisgICAgaWYgKCFmcmFtZSB8fCAhZG9jdW1lbnQgfHwgIXBh
Z2UpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJy
b3IgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIHBlcm1pc3Npb25TdGF0
ZSA9IHBhZ2UtPnBlcm1pc3Npb25Db250cm9sbGVyKCkucXVlcnkoQ2xpZW50T3JpZ2luIHsgZG9j
dW1lbnQtPnRvcE9yaWdpbigpLmRhdGEoKSwgZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkuZGF0
YSgpIH0sIFBlcm1pc3Npb25EZXNjcmlwdG9yIHsgcGFyYW1ldGVyRGVzY3JpcHRvciB9KTsKKyAg
ICBwcm9taXNlLnJlc29sdmUoUGVybWlzc2lvblN0YXR1czo6Y3JlYXRlKCpjb250ZXh0LCBwZXJt
aXNzaW9uU3RhdGUsIHBhcmFtZXRlckRlc2NyaXB0b3IpKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9ucy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyZTg5NTdhZjExOGNjNjY0ZGRiNmM0YjU3NGQ2ZDI0Yzc1YzRm
YTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25zLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJv
bmcuaD4KKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIu
aD4KKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBKU09iamVjdDsKK30gLy8gbmFtZXNwYWNlIEpT
QworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmlnYXRvcjsKK2NsYXNzIFBlcm1p
c3Npb25TdGF0dXM7CisKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21p
c2VEZWZlcnJlZDsKKworY2xhc3MgUGVybWlzc2lvbnMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRl
ZDxQZXJtaXNzaW9ucz4geworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUGVybWlzc2lvbnMp
OworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UGVybWlzc2lvbnM+IGNyZWF0ZShOYXZpZ2F0b3Im
KTsKKworICAgIE5hdmlnYXRvciogbmF2aWdhdG9yKCk7CisgICAgdm9pZCBxdWVyeShKU0M6OlN0
cm9uZzxKU0M6OkpTT2JqZWN0PiwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQZXJt
aXNzaW9uU3RhdHVzPj4mJik7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgUGVybWlzc2lvbnMo
TmF2aWdhdG9yJik7CisKKyAgICBXZWFrUHRyPE5hdmlnYXRvcj4gbV9uYXZpZ2F0b3I7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2OGFhNjEyYTUwN2IzODA1
NDBhNjcwYmU2NDVhYjY2ZWY0MzgxZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbApAQCAtMCwwICsxLDM1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNwZXJtaXNz
aW9ucy1pbnRlcmZhY2UKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEks
CisgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVGcm9tTmF2aWdhdG9yLAorICAgIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKK10g
aW50ZXJmYWNlIFBlcm1pc3Npb25zIHsKKyAgICBQcm9taXNlPFBlcm1pc3Npb25TdGF0dXM+IHF1
ZXJ5KG9iamVjdCBwZXJtaXNzaW9uRGVzYyk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA2ZDU5ZGMz
ZmQ4Nzg0YWMzNTc2MGFkZGY1ZDkyMDU4ZDI1ODRkMDdiLi44OTEwNTQ5NzMxOWE2YjA0ZTE4ZmU1
MmU0NTFlZDRlZTlhNGYxNTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMjAzLDYgKzIwMyw5IEBAIE1v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCiBNb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L1BheW1lbnRSZXF1ZXN0VXRpbGl0aWVzLmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50UmVzcG9uc2UuY3BwCitNb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Np
b25zLmNwcAorTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcAorTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9E
b2N1bWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50
ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvSFRN
TFZpZGVvRWxlbWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCkBAIC0zMjcyLDYgKzMyNzUsMTEgQEAg
SlNQZXJmb3JtYW5jZVRpbWluZy5jcHAKIEpTUGVyaW9kaWNXYXZlLmNwcAogSlNQZXJpb2RpY1dh
dmVDb25zdHJhaW50cy5jcHAKIEpTUGVyaW9kaWNXYXZlT3B0aW9ucy5jcHAKK0pTUGVybWlzc2lv
bkRlc2NyaXB0b3IuY3BwCitKU1Blcm1pc3Npb25OYW1lLmNwcAorSlNQZXJtaXNzaW9uU3RhdGUu
Y3BwCitKU1Blcm1pc3Npb25TdGF0dXMuY3BwCitKU1Blcm1pc3Npb25zLmNwcAogSlNQaWN0dXJl
SW5QaWN0dXJlV2luZG93LmNwcAogSlNQbGF5YmFja0RpcmVjdGlvbi5jcHAKIEpTUG9pbnRlckV2
ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGQwYWEwZThkMmI5YjkxMDczYjk4M2E2OGNmNTlmN2U2NmEyYTUzNzUuLjM2
YWRlZWQ0OWQxMGY4N2E2MTgxZDgzMjgzZWI4NzY0ODQ4YWRkZGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI4ODAsNiArMjg4
MCwxNCBAQAogCQk5M0E4MDYxNzFFMDNCNTFDMDA4QTFGMjYgLyogTG9uZ1JhbmdlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4MDYxMzFFMDNCNTFD
MDA4QTFGMjYgLyogTG9uZ1JhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJOTNBODA2MUUxRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFu
Z2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTgw
NjFBMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJhbmdlLmggKi87IH07CiAJCTkzQTgwNjIw
MUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBODA2MUMxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9u
Z1JhbmdlLmggKi87IH07CisJCTkzQjBBNjUzMjZDREQxNDEwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQ
ZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTNCMEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi87
IH07CisJCTkzQjBBNjU0MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NEIyNkNERDEzRTAw
QUEyMUU0IC8qIFBlcm1pc3Npb25zLmggKi87IH07CisJCTkzQjBBNjU2MjZDREQxNDEwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5M0IwQTY0RDI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1
cy5oICovOyB9OworCQk5M0IwQTY1NzI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2Ny
aXB0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
QjBBNjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjU5MjZDREQx
NDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NTAyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Np
b25OYW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJOTNCMEE2NUIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NTIyNkNERDE0MTAw
QUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjcwMjZENEI1MzkwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNCMEE2NjkyNkQ0NEI3RjAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNCMEE2
N0EyNkQ2QTRFOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NkYyNkQ0QjUyOTAwQUEyMUU0
IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTkzQjJEODE2MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJt
aW5hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNCMzhFQzMyNTgyMURC
NDAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IzOEVCQTI1ODIxOTNCMDAxOThFNjMgLyog
V2ViU3BlZWNoUmVjb2duaXplclRhc2suaCAqLzsgfTsKIAkJOTNCMzhFQzQyNTgyMURCNzAwMTk4
RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMzhFQkIyNTgyMTkzRDAwMTk4RTYzIC8qIFdl
YlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oICovOyB9OwpAQCAtMTE3MDEsNiArMTE3MDksMjMg
QEAKIAkJOTNBODA2MUExRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEb3VibGVSYW5nZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5M0E4MDYxQjFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNMb25nUmFuZ2UuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0E4MDYxQzFFMDNCNTg1MDA4QTFGMjYg
LyogSlNMb25nUmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNMb25n
UmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDQyNkNEQzVCNjAw
QUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVy
bWlzc2lvblN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDUy
NkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTkzQjBBNjQ2MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvbk5hbWUuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk5M0IwQTY0NzI2Q0RDNUI3MDBBQTIxRTQgLyogTmF2aWdhdG9yK1Bl
cm1pc3Npb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiTmF2aWdhdG9yK1Blcm1pc3Np
b25zLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ4MjZDREM1Qjcw
MEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlz
c2lvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0OTI2Q0RDNUI4
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
UGVybWlzc2lvblN0YXR1cy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBB
NjRBMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0QjI2Q0REMTNFMDBBQTIxRTQgLyogUGVybWlzc2lv
bnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbnMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEMyNkNERDEzRTAwQUEyMUU0IC8qIE5h
dmlnYXRvclBlcm1pc3Npb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0RTI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lv
bkRlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lv
bkRlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEYyNkNE
RDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTkzQjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uTmFtZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MTI2Q0REMTQwMDBBQTIxRTQgLyogUGVy
bWlzc2lvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVybWlz
c2lvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MjI2Q0REMTQx
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBlcm1pc3Npb25TdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
M0IwQTY2OTI2RDQ0QjdGMDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGVybWlzc2lvbkNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTNCMEE2NkYyNkQ0QjUyOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN1ZGRlblRlcm1pbmF0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjJEODE3MEY5OTIwRUUwMDZBRTZCMiAvKiBT
dWRkZW5UZXJtaW5hdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFN1ZGRlblRlcm1pbmF0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
M0IzOEVCODI1ODIxODk5MDAxOThFNjMgLyogU3BlZWNoUmVjb2duaXplckNvY29hLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3BlZWNoUmVjb2duaXplckNvY29h
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjMxODUsNiArMjMyMTAsMzAgQEAK
IAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk5M0Iw
QTY0MjI2Q0RDNTc0MDBBQTIxRTQgLyogcGVybWlzc2lvbnMgKi8gPSB7CisJCQlpc2EgPSBQQlhH
cm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTkzQjBBNjQ3MjZDREM1QjcwMEFBMjFFNCAvKiBO
YXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsICovLAorCQkJCTkzQjBBNjRDMjZDREQxM0UwMEFBMjFF
NCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAgKi8sCisJCQkJOTNCMEE2NEEyNkNERDEzRTAw
QUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi8sCisJCQkJOTNCMEE2NjkyNkQ0NEI3
RjAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggKi8sCisJCQkJOTNCMEE2NEUyNkNE
RDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggKi8sCisJCQkJOTNCMEE2NDUy
NkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbCAqLywKKwkJCQk5M0Iw
QTY1MDI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCAqLywKKwkJCQk5M0IwQTY0
NjI2Q0RDNUI3MDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaWRsICovLAorCQkJCTkzQjBBNjZG
MjZENEI1MjkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCAqLywKKwkJCQk5M0IwQTY1
MTI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuY3BwICovLAorCQkJCTkzQjBBNjRCMjZD
REQxM0UwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oICovLAorCQkJCTkzQjBBNjQ4MjZDREM1Qjcw
MEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5pZGwgKi8sCisJCQkJOTNCMEE2NTIyNkNERDE0MTAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oICovLAorCQkJCTkzQjBBNjQ0MjZDREM1QjYwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdGUuaWRsICovLAorCQkJCTkzQjBBNjRGMjZDREQxNDAwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdHVzLmNwcCAqLywKKwkJCQk5M0IwQTY0RDI2Q0REMTNGMDBBQTIx
RTQgLyogUGVybWlzc2lvblN0YXR1cy5oICovLAorCQkJCTkzQjBBNjQ5MjZDREM1QjgwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdHVzLmlkbCAqLywKKwkJCSk7CisJCQlwYXRoID0gcGVybWlzc2lv
bnM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk5M0IzOEVCNjI1ODIxODMz
MDAxOThFNjMgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKApAQCAtMjM3OTAsNiArMjM4MzksNyBAQAogCQkJCTcxRDZBQTM5MURBNEVBRjcwMEIyMzk2
OSAvKiBtb2Rlcm4tbWVkaWEtY29udHJvbHMgKi8sCiAJCQkJMzMzRjcwM0QwRkI0OUMxNjAwOEUx
MkE2IC8qIG5vdGlmaWNhdGlvbnMgKi8sCiAJCQkJQTFGNzZCMEUxRjQ0QzBDRjAwMTRDMzE4IC8q
IHBheW1lbnRyZXF1ZXN0ICovLAorCQkJCTkzQjBBNjQyMjZDREM1NzQwMEFBMjFFNCAvKiBwZXJt
aXNzaW9ucyAqLywKIAkJCQkxREVGMDZBMjIzM0MzMkRCMDBFRTIyOEQgLyogcGljdHVyZWlucGlj
dHVyZSAqLywKIAkJCQkwNzJBRTFERTE4M0MwNTEzMDAwQTU5ODggLyogcGx1Z2lucyAqLywKIAkJ
CQlDREMzMTJFMDIyRkNEMEIwMDAxMjA0RUMgLyogcmVtb3RlcGxheWJhY2sgKi8sCkBAIC0zMzc1
Nyw2ICszMzgwNyw3IEBACiAJCQkJNkI1MDdBMjQyMzRCRjM0MTAwQkU3QzYyIC8qIE5hdmlnYXRv
cklzTG9nZ2VkSW4uaCBpbiBIZWFkZXJzICovLAogCQkJCTVFQTcyNUQ2MUFDQUJENTcwMEVBRDE3
QiAvKiBOYXZpZ2F0b3JNZWRpYURldmljZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3N0JBNTcy
MjYwRkEwMTQwMDcyRjE5RiAvKiBOYXZpZ2F0b3JNZWRpYVNlc3Npb24uaCBpbiBIZWFkZXJzICov
LAorCQkJCTkzQjBBNjUzMjZDREQxNDEwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTk2RTU5REYxREYwMTI4RDAwNjYxMkI5IC8qIE5hdmlnYXRv
cldlYkRyaXZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCNzgyNDEzMTkxRjAwRTc5NEQ2
IC8qIE5hdmlnYXRvcldlYlhSLmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTMwOUM5RjEyMzk1MEJF
MDBDQjkyMDQgLyogTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCBpbiBIZWFkZXJzICovLApAQCAt
MzM5NTYsNiArMzQwMDcsMTMgQEAKIAkJCQlGRDU4MUZCNTE1MjBGOTNCMDAzQTdBNzUgLyogUGVy
aW9kaWNXYXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNzU1RTg5MjI0Qzc0MzRCMDA5RjdDMjMg
LyogUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUU3NTVFODk5
MjRDNzQ2MUQwMDlGN0MyMyAvKiBQZXJpb2RpY1dhdmVPcHRpb25zLmggaW4gSGVhZGVycyAqLywK
KwkJCQk5M0IwQTY3MDI2RDRCNTM5MDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTkzQjBBNjU3MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
RGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTkyNkNERDE0MTAwQUEyMUU0
IC8qIFBlcm1pc3Npb25OYW1lLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY3QTI2RDZBNEU5
MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0Iw
QTY1NDI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTkzQjBBNjVCMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTkzQjBBNjU2MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0OUQ1REMyRTBGNDIzQTczMDA4RjIwRkQgLyogUGVyc3BlY3Rp
dmVUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTFEQkMxQjU2MjM0N0Iz
RDIwMEI5MDFBRiAvKiBQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFEMkM4MkI3MjM2QTNGNkEwMDU1RDZDNSAvKiBQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5o
IGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
ZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmgKaW5kZXggZjE4MWM3OTZkNjUwY2M4NmZlM2YwOGE3MjAwN2E2ZWRjMmVm
YmM3OC4uODUxYTIxNGM5YTQ4N2ZmNjhkMTZiZTdkZDhmYmI1MjA4ODdlYjkxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMTU0
LDYgKzE1NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhNb2NrUlRDUnRwVHJh
bnNmb3JtKSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yQ3JlZGVudGlhbHMpIFwKICAgICBtYWNybyhO
YXZpZ2F0b3JNZWRpYURldmljZXMpIFwKKyAgICBtYWNybyhOYXZpZ2F0b3JQZXJtaXNzaW9ucykg
XAogICAgIG1hY3JvKE5hdmlnYXRvclVzZXJNZWRpYSkgXAogICAgIG1hY3JvKE9mZmxpbmVBdWRp
b0NvbnRleHQpIFwKICAgICBtYWNybyhPZmZzY3JlZW5DYW52YXMpIFwKQEAgLTE4Miw2ICsxODMs
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWlu
ZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQ
ZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAorICAgIG1hY3JvKFBlcm1pc3Npb25EZXNjcmlwdG9y
KSBcCisgICAgbWFjcm8oUGVybWlzc2lvblN0YXR1cykgXAorICAgIG1hY3JvKFBlcm1pc3Npb25z
KSBcCiAgICAgbWFjcm8oUG9pbnRlckV2ZW50KSBcCiAgICAgbWFjcm8oUHVibGljS2V5Q3JlZGVu
dGlhbCkgXAogICAgIG1hY3JvKFJlc2l6ZU9ic2VydmVyKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCA1ZTU4ZjExMTY2N2VmNjIxMGQ1MzExMGQ3YjU0YTgw
MmM4NDM5NWQ4Li4wMTNjZWQwOTQ2ZmZjZDUyNTlmYTI1MGIxNjAzYTE4ZTQ1OWU0NTk5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTM1LDYgKzM1LDcgQEAg
T2Zmc2NyZWVuQ2FudmFzIGNvbmRpdGlvbmFsPU9GRlNDUkVFTl9DQU5WQVMKIFBheW1lbnRSZXF1
ZXN0IGNvbmRpdGlvbmFsPVBBWU1FTlRfUkVRVUVTVAogUGF5bWVudFJlc3BvbnNlIGNvbmRpdGlv
bmFsPVBBWU1FTlRfUkVRVUVTVAogUGVyZm9ybWFuY2UKK1Blcm1pc3Npb25TdGF0dXMKIFBpY3R1
cmVJblBpY3R1cmVXaW5kb3cgY29uZGl0aW9uYWw9UElDVFVSRV9JTl9QSUNUVVJFX0FQSQogUmVt
b3RlUGxheWJhY2sgY29uZGl0aW9uYWw9V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUCiBSVENEYXRh
Q2hhbm5lbCBjb25kaXRpb25hbD1XRUJfUlRDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vVGFza1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaAppbmRleCA3
MTMzZjY3OGVhMmQ5OTI2OTUxNjAyMDg2NGVmMTNkNGYzZWZkMzk4Li4yZGE0N2JhZDZjNzNhNmJh
NWJmMjgzYjhkMzUyZjQwZDIxYWYwMTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
VGFza1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UYXNrU291cmNlLmgKQEAgLTM5
LDYgKzM5LDcgQEAgZW51bSBjbGFzcyBUYXNrU291cmNlIDogdWludDhfdCB7CiAgICAgTWljcm90
YXNrLAogICAgIE5ldHdvcmtpbmcsCiAgICAgUGVyZm9ybWFuY2VUaW1lbGluZSwKKyAgICBQZXJt
aXNzaW9uLAogICAgIFBvc3RlZE1lc3NhZ2VRdWV1ZSwKICAgICBTcGVlY2gsCiAgICAgVXNlcklu
dGVyYWN0aW9uLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCA5NjRl
MmRkMTIwNzAzMzFhNjVjYTM0MWFjNzBlNGIyODc0MjAwYTBkLi41NWNjNDZlMjU5MTg0NjlmMzFk
NTZjMDQ5NmU0M2RkNTVlY2ZkNWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmNwcApAQCAtNjMsNiArNjMsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdl
Q29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oIgor
I2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGx1Z2luSW5mb1By
b3ZpZGVyLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW5EYXRhLmgiCkBAIC0xMTkzLDcgKzExOTQsOCBAQCBQYWdlQ29uZmlndXJh
dGlvbiBwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMoUEFMOjpTZXNzaW9uSUQgc2Vz
c2lvbklEKQogICAgICAgICBtYWtlVW5pcXVlUmVmPEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ+KCks
CiAgICAgICAgIG1ha2VVbmlxdWVSZWY8RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigp
LAogICAgICAgICBtYWtlVW5pcXVlUmVmPEVtcHR5TWVkaWFSZWNvcmRlclByb3ZpZGVyPigpLAot
ICAgICAgICBFbXB0eUJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Y3JlYXRlKCkKKyAgICAgICAg
RW1wdHlCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmNyZWF0ZSgpLAorICAgICAgICBtYWtlVW5p
cXVlUmVmPER1bW15UGVybWlzc2lvbkNvbnRyb2xsZXI+KCkKICAgICB9OwogCiAgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPEVtcHR5Q2hyb21lQ2xpZW50PiBkdW1teUNocm9tZUNsaWVudDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwCmluZGV4IGVlZTY4Yjc3ZTFlNWZjZTFlNTljMzI5NDM0YTlhODYwMGIzNjk3
MTAuLjg2MTA3OGJhMGJmNjE4M2I3NzExNDVhNzRiNDFiZTA3ZDdiMDU2MmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcApAQCAtOTksNiArOTksNyBAQAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTG9nZ2luZy5o
IgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oIgogI2luY2x1ZGUgIlBlcmZv
cm1hbmNlTW9uaXRvci5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1T
Y3JlZW4uaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKQEAgLTMyNSw2ICszMjYs
NyBAQCBQYWdlOjpQYWdlKFBhZ2VDb25maWd1cmF0aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAg
ICAgLCBtX2xvYWRzU3VicmVzb3VyY2VzKHBhZ2VDb25maWd1cmF0aW9uLmxvYWRzU3VicmVzb3Vy
Y2VzKQogICAgICwgbV9zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZyhwYWdlQ29u
ZmlndXJhdGlvbi5zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZykKICAgICAsIG1f
aHR0cHNVcGdyYWRlRW5hYmxlZChwYWdlQ29uZmlndXJhdGlvbi5odHRwc1VwZ3JhZGVFbmFibGVk
KQorICAgICwgbV9wZXJtaXNzaW9uQ29udHJvbGxlcihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9u
LnBlcm1pc3Npb25Db250cm9sbGVyKSkKIHsKICAgICB1cGRhdGVUaW1lclRocm90dGxpbmdTdGF0
ZSgpOwogCkBAIC0zNjkzLDQgKzM2OTUsOSBAQCB2b2lkIFBhZ2U6OnJlc2V0VGV4dFJlY29nbml0
aW9uUmVzdWx0cygpCiAKICNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKK1Blcm1p
c3Npb25Db250cm9sbGVyJiBQYWdlOjpwZXJtaXNzaW9uQ29udHJvbGxlcigpCit7CisgICAgcmV0
dXJuIG1fcGVybWlzc2lvbkNvbnRyb2xsZXIuZ2V0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggOTI1NWJmMzEzYzY3ZDcxNDgxNWNmNzgxNTI2NmZmZDgw
NWIyMmY2MC4uM2IxZTI2OTA1NTZkZDRmM2QxN2E4ZWI4NWYyNGQwMDQwODg3NDM3NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKQEAgLTEzMSw2ICsxMzEsNyBAQCBjbGFzcyBQYXltZW50Q29vcmRpbmF0b3I7CiBj
bGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmc7CiBjbGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQ7
CiBjbGFzcyBQZXJmb3JtYW5jZU1vbml0b3I7CitjbGFzcyBQZXJtaXNzaW9uQ29udHJvbGxlcjsK
IGNsYXNzIFBsdWdpbkRhdGE7CiBjbGFzcyBQbHVnaW5JbmZvUHJvdmlkZXI7CiBjbGFzcyBQbHVn
aW5WaWV3QmFzZTsKQEAgLTg3Miw2ICs4NzMsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjYWNoZVRl
eHRSZWNvZ25pdGlvblJlc3VsdChjb25zdCBIVE1MRWxlbWVudCYsIGNvbnN0IEludFJlY3QmIGNv
bnRhaW5lclJlY3QsIGNvbnN0IFRleHRSZWNvZ25pdGlvblJlc3VsdCYpOwogI2VuZGlmCiAKKyAg
ICBXRUJDT1JFX0VYUE9SVCBQZXJtaXNzaW9uQ29udHJvbGxlciYgcGVybWlzc2lvbkNvbnRyb2xs
ZXIoKTsKKwogcHJpdmF0ZToKICAgICBzdHJ1Y3QgTmF2aWdhdGlvbiB7CiAgICAgICAgIFJlZ2lz
dHJhYmxlRG9tYWluIGRvbWFpbjsKQEAgLTExOTQsNiArMTE5Nyw4IEBAIHByaXZhdGU6CiAgICAg
Y29uc3QgYm9vbCBtX2h0dHBzVXBncmFkZUVuYWJsZWQgeyB0cnVlIH07CiAgICAgbXV0YWJsZSBN
ZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgbV9tZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXI7
CiAKKyAgICBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+IG1fcGVybWlzc2lvbkNvbnRy
b2xsZXI7CisKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAgICAgLy8gRklYTUU6IFRoZXNl
IHNob3VsZCBiZSByZWZhY3RvcmVkIHRvIHVzZSBhIHdlYWsgaGFzaCBtYXAgb2YgSFRNTEVsZW1l
bnQgdG8gc3RkOjpwYWlyPFRleHRSZWNvZ25pdGlvblJlc3VsdCwgSW50U2l6ZT4uCiAgICAgVmVj
dG9yPHN0ZDo6cGFpcjxXZWFrUHRyPEhUTUxFbGVtZW50Piwgc3RkOjpwYWlyPFRleHRSZWNvZ25p
dGlvblJlc3VsdCwgSW50UmVjdD4+PiBtX3RleHRSZWNvZ25pdGlvblJlc3VsdHNCeUVsZW1lbnQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDY3NWUzNjlj
YzFlMmMyYjc3ZDk5ZmRkMDkxMzRiMTk4ZjBjZjNhZjMuLmNiNTYwZmQ0MTRhMjNhNzZiMmNjN2I2
MGVhNTAyOTk5YTk4MWNjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uY3BwCkBAIC01OSw3ICs1OSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFnZUNv
bmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
VW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQsIFJlZjxTb2NrZXRQcm92aWRl
cj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmIGxpYldl
YlJUQ1Byb3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYgY2FjaGVTdG9yYWdlUHJv
dmlkZXIsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmIHVzZXJDb250ZW50UHJvdmlkZXIsIFJl
ZjxCYWNrRm9yd2FyZENsaWVudD4mJiBiYWNrRm9yd2FyZENsaWVudCwgUmVmPENvb2tpZUphcj4m
JiBjb29raWVKYXIsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYgcHJvZ3Jlc3NU
cmFja2VyQ2xpZW50LCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+JiYgbG9hZGVyQ2xpZW50
Rm9yTWFpbkZyYW1lLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4mJiBzcGVl
Y2hSZWNvZ25pdGlvblByb3ZpZGVyLCBVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPiYm
IG1lZGlhUmVjb3JkZXJQcm92aWRlciwgUmVmPEJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4mJiBi
cm9hZGNhc3RDaGFubmVsUmVnaXN0cnkpCitQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3Vy
YXRpb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYm
IGVkaXRvckNsaWVudCwgUmVmPFNvY2tldFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyLCBVbmlx
dWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYgbGliV2ViUlRDUHJvdmlkZXIsIFJlZjxDYWNoZVN0
b3JhZ2VQcm92aWRlcj4mJiBjYWNoZVN0b3JhZ2VQcm92aWRlciwgUmVmPFVzZXJDb250ZW50UHJv
dmlkZXI+JiYgdXNlckNvbnRlbnRQcm92aWRlciwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmIGJh
Y2tGb3J3YXJkQ2xpZW50LCBSZWY8Q29va2llSmFyPiYmIGNvb2tpZUphciwgVW5pcXVlUmVmPFBy
b2dyZXNzVHJhY2tlckNsaWVudD4mJiBwcm9ncmVzc1RyYWNrZXJDbGllbnQsIFVuaXF1ZVJlZjxG
cmFtZUxvYWRlckNsaWVudD4mJiBsb2FkZXJDbGllbnRGb3JNYWluRnJhbWUsIFVuaXF1ZVJlZjxT
cGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmIHNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXIsIFVu
aXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYgbWVkaWFSZWNvcmRlclByb3ZpZGVyLCBS
ZWY8QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmIGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSwg
VW5pcXVlUmVmPFBlcm1pc3Npb25Db250cm9sbGVyPiYmIHBlcm1pc3Npb25Db250cm9sbGVyKQog
ICAgIDogc2Vzc2lvbklEKHNlc3Npb25JRCkKICAgICAsIGVkaXRvckNsaWVudChXVEZNb3ZlKGVk
aXRvckNsaWVudCkpCiAgICAgLCBzb2NrZXRQcm92aWRlcihXVEZNb3ZlKHNvY2tldFByb3ZpZGVy
KSkKQEAgLTczLDYgKzczLDcgQEAgUGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9u
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckMKICAgICAsIGJyb2Fk
Y2FzdENoYW5uZWxSZWdpc3RyeShXVEZNb3ZlKGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSkpCiAg
ICAgLCBzcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyKFdURk1vdmUoc3BlZWNoUmVjb2duaXRpb25Q
cm92aWRlcikpCiAgICAgLCBtZWRpYVJlY29yZGVyUHJvdmlkZXIoV1RGTW92ZShtZWRpYVJlY29y
ZGVyUHJvdmlkZXIpKQorICAgICwgcGVybWlzc2lvbkNvbnRyb2xsZXIoV1RGTW92ZShwZXJtaXNz
aW9uQ29udHJvbGxlcikpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uaAppbmRleCAwZjI1OWQ1NmQzYTE0MmExNGUwZWM4NTE0ZTBmZDViMmZkMjkzMGE1Li5kNzVi
NzEwNGMzNTAzOTFmNThhOTY4ZmFlMmU2ZTAzNTQ2MTE2YWNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlQ29uZmlndXJhdGlvbi5oCkBAIC01OSw2ICs1OSw3IEBAIGNsYXNzIExpYldlYlJUQ1By
b3ZpZGVyOwogY2xhc3MgTWVkaWFSZWNvcmRlclByb3ZpZGVyOwogY2xhc3MgUGF5bWVudENvb3Jk
aW5hdG9yQ2xpZW50OwogY2xhc3MgUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50OworY2xhc3MgUGVy
bWlzc2lvbkNvbnRyb2xsZXI7CiBjbGFzcyBQbHVnaW5JbmZvUHJvdmlkZXI7CiBjbGFzcyBQcm9n
cmVzc1RyYWNrZXJDbGllbnQ7CiBjbGFzcyBTb2NrZXRQcm92aWRlcjsKQEAgLTc0LDcgKzc1LDcg
QEAgY2xhc3MgU3BlZWNoU3ludGhlc2lzQ2xpZW50OwogY2xhc3MgUGFnZUNvbmZpZ3VyYXRpb24g
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDb25maWd1cmF0aW9uKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZpZ3Vy
YXRpb24oUEFMOjpTZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYsIFJlZjxTb2Nr
ZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmLCBSZWY8Q2FjaGVT
dG9yYWdlUHJvdmlkZXI+JiYsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmLCBSZWY8QmFja0Zv
cndhcmRDbGllbnQ+JiYsIFJlZjxDb29raWVKYXI+JiYsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNr
ZXJDbGllbnQ+JiYsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNsaWVudD4mJiwgVW5pcXVlUmVmPFNw
ZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlk
ZXI+JiYsIFJlZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYpOworICAgIFdFQkNPUkVfRVhQ
T1JUIFBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xp
ZW50PiYmLCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRl
cj4mJiwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmLCBSZWY8VXNlckNvbnRlbnRQcm92aWRl
cj4mJiwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmLCBSZWY8Q29va2llSmFyPiYmLCBVbmlxdWVS
ZWY8UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmLCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+
JiYsIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TWVk
aWFSZWNvcmRlclByb3ZpZGVyPiYmLCBSZWY8QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmLCBV
bmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+JiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5Q
YWdlQ29uZmlndXJhdGlvbigpOwogICAgIFBhZ2VDb25maWd1cmF0aW9uKFBhZ2VDb25maWd1cmF0
aW9uJiYpOwogCkBAIC0xMzgsNiArMTM5LDggQEAgcHVibGljOgogICAgIGJvb2wgdXNlclNjcmlw
dHNTaG91bGRXYWl0VW50aWxOb3RpZmljYXRpb24geyB0cnVlIH07CiAgICAgU2hvdWxkUmVsYXhU
aGlyZFBhcnR5Q29va2llQmxvY2tpbmcgc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tp
bmcgeyBTaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZzo6Tm8gfTsKICAgICBib29s
IGh0dHBzVXBncmFkZUVuYWJsZWQgeyB0cnVlIH07CisKKyAgICBVbmlxdWVSZWY8UGVybWlzc2lv
bkNvbnRyb2xsZXI+IHBlcm1pc3Npb25Db250cm9sbGVyOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5k
ZXggNjZhZWRhNDNjODJkOGJmYjMzNWJiZmVmNjA5NWQwNGVmYWRiODYyMC4uYTc0NWQ3MjAxNWNm
YzE5NWZiOTZmMmNjNTU4NThhODMxYjc1MGVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC02OTQsNiArNjk0
LDcgQEAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJNZWRpYUtleVN5c3RlbUNsaWVudC5j
cHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlk
ZXIuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5j
cHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50
LmNwcAorV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5j
cHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3BwCiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlByb2dyZXNzVHJhY2tlckNsaWVudC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDVmYjMwODk1MDE1NjI0ODY2NjE1M2M2MjRm
NDAzNGVhNGE4ODRmZGYuLjlhODI5NmI5OGQ1YmIwZGI2M2E3ODBmMTViZjM0MjMzZTdlNDNjMWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTcyLDYgKzE3
Miw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9NZWRpYVN0cmVhbVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BlcmZvcm1h
bmNlTG9nZ2luZ0NsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGVybWlzc2lvblN0YXRlLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHVibGljU3VmZml4
Lmg+CkBAIC04NDkzLDYgKzg0OTQsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJldm9rZUdlb2xv
Y2F0aW9uQXV0aG9yaXphdGlvblRva2VuKGNvbnN0IFN0cmluZyYgYXV0aG9yaXphdGkKICAgICBt
X2dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLnJldm9rZUF1dGhvcml6YXRpb25U
b2tlbihhdXRob3JpemF0aW9uVG9rZW4pOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVz
dFBlcm1pc3Npb24oY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6
UGVybWlzc2lvbkRlc2NyaXB0b3ImLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBl
cm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgLy8gRklYTUU6IFNo
b3cgYSBwcm9tcHQgZm9yIHVzZXIgaW5wdXQuCisgICAgY29tcGxldGlvbkhhbmRsZXIoUGVybWlz
c2lvblN0YXRlOjpHcmFudGVkKTsKK30KKwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiBVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSYgV2ViUGFnZVByb3h5Ojp1c2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAppbmRleCBlYTFjMjJmYjZiMTFiZTk2ODk5MjgyNjRkM2JmM2ZjODQ3MTA5Yjhk
Li40NjFhYWNiODg4NmE1MjMxY2NhYWZmMDc0ZjJhMWE1NGMwMTc3ZDc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjk0LDYgKzI5NCw3IEBAIHN0cnVjdCBMaW5r
SWNvbjsKIHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3Q7CiBzdHJ1Y3QgTWVkaWFVc2FnZUluZm87
CiBzdHJ1Y3QgTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbjsKK3N0cnVjdCBQZXJt
aXNzaW9uRGVzY3JpcHRvcjsKIHN0cnVjdCBQcmV3YXJtSW5mb3JtYXRpb247CiBzdHJ1Y3QgU2Vj
dXJpdHlPcmlnaW5EYXRhOwogc3RydWN0IFNoYXJlRGF0YTsKQEAgLTIxMTcsNiArMjExOCw3IEBA
IHByaXZhdGU6CiAKICAgICB2b2lkIHJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFt
ZShHZW9sb2NhdGlvbklkZW50aWZpZXIsIEZyYW1lSW5mb0RhdGEmJik7CiAgICAgdm9pZCByZXZv
a2VHZW9sb2NhdGlvbkF1dGhvcml6YXRpb25Ub2tlbihjb25zdCBTdHJpbmcmIGF1dGhvcml6YXRp
b25Ub2tlbik7CisgICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihjb25zdCBXZWJDb3JlOjpDbGll
bnRPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKT4mJik7CiAKICNpZiBQTEFU
Rk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKICAgICB2b2lkIHNlbmRNZXNzYWdlVG9XZWJWaWV3
KFVzZXJNZXNzYWdlJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluCmluZGV4IGJjMzdiOGZjNmFkZjNlYWQxODcyZDExNTVmZjBjYmQwMDlk
YzBhZjkuLjA3ZTBmNTQ4MDM0Njk3MDNhNmY3MzdkOTkzMDdiMWVjNzM1MGNkMzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTYw
Miw0ICs2MDIsNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2lmIEhBVkUoQVJLSVRf
SU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIE1vZGVsRWxlbWVudERpZENyZWF0ZVByZXZpZXcoc3Ry
dWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0IGVsZW1lbnRDb250ZXh0LCBVUkwgdXJsLCBTdHJp
bmcgdXVpZCwgV2ViQ29yZTo6RmxvYXRTaXplIHNpemUpCiAjZW5kaWYKKworICAgIHJlcXVlc3RQ
ZXJtaXNzaW9uKHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luLCBzdHJ1Y3QgV2Vi
Q29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikgLT4gKGVudW06dWludDhfdCBX
ZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpIEFzeW5jCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmZTNkMzJiMzI5NWMyYzQ0
ZmQ0NDQ0Y2RkN2YxNDFmMjQwMDRjYTAyLi5mYjY4YTNiZDE2ZDI3MzgyY2QzM2M5M2IxMGJlYmUy
OTNiMzNhNTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTE0OTYsNiArMTQ5Niw3IEBACiAJCTkzQUI5QjRFMjU3NTY3RTIwMDk4QjEw
RSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQUI5QjQyMjU3NDkyOEMw
MDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2UuaCAq
LzsgfTsKIAkJOTNBQjlCNTUyNTc1QTI3NjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVh
bHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBQjlCNEYyNTc1ODkxMTAwOThCMTBF
IC8qIFNwZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVj
ZWl2ZXIuY3BwICovOyB9OwogCQk5M0FCOUI1NjI1NzVBMjhCMDA5OEIxMEUgLyogU3BlZWNoUmVj
b2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0FCOUI1
MTI1NzU4OTExMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlh
U291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTkzQjBBNjc1MjZENUFE
Q0YwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NzQyNkQ1QTcyRTAwQUEyMUU0IC8q
IFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggKi87IH07CiAJCTkzQjI2MTREMjI3RDE0OUUwMEI5
N0E3NiAvKiBTdG9yYWdlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTNCMjYxNDkyMjdEMTQ3MjAwQjk3QTc2IC8qIFN0b3JhZ2VNYW5hZ2Vy
LmggKi87IH07CiAJCTkzQjI2MTRFMjI3RDE0QjEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRh
YmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNC
MjYxNDUyMjdEMTQ3MDAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmggKi87IH07CiAJ
CTkzQjI2MTRGMjI3RDE0QjEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjI2MTQ2
MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaCAqLzsgfTsK
QEAgLTQ5MTQsNiArNDkxNSwxMCBAQAogCQk5M0FCOUI1MjI1NzU4OTEyMDA5OEIxMEUgLyogU3Bl
ZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzUmVw
bGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGVlY2hSZWNvZ25pdGlv
blJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQUI5QjUzMjU3NTg5MTIwMDk4QjEwRSAvKiBTcGVl
Y2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3BlZWNoUmVjb2duaXRpb25SZW1vdGVS
ZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTkzQUI5QjU0MjU3NTg5MTIwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJl
YWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3BlZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1l
c3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjZEMjZENDUxNTAw
MEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBQZXJtaXNzaW9uTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTkzQjBBNjZFMjZENDUxNTAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uTWFuYWdlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY3MzI2RDVBNzJFMDBBQTIxRTQgLyog
V2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5M0IwQTY3NDI2RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRy
b2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUGVybWlzc2lvbkNv
bnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMjYxNDUyMjdEMTQ3
MDAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExvY2FsU3RvcmFnZURhdGFiYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTkzQjI2MTQ2MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFz
ZVRyYWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxTdG9yYWdl
RGF0YWJhc2VUcmFja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjI2MTQ3
MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFj
a2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk2MjMsNiArOTYyOCwxNSBA
QAogCQkJcGF0aCA9IFNwZWVjaDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJ
CTkzQjBBNjZDMjZENDUxMUYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uICovID0geworCQkJaXNhID0g
UEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk5M0IwQTY2RDI2RDQ1MTUwMDBBQTIxRTQg
LyogUGVybWlzc2lvbk1hbmFnZXIuY3BwICovLAorCQkJCTkzQjBBNjZFMjZENDUxNTAwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uTWFuYWdlci5oICovLAorCQkJKTsKKwkJCXBhdGggPSBQZXJtaXNzaW9u
OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJOTNCMjYxNDMyMjdEMTQzMTAw
Qjk3QTc2IC8qIFdlYlN0b3JhZ2UgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKApAQCAtOTg2Myw2ICs5ODc3LDcgQEAKIAkJCQk0QTQxMEY0MTE5QUY3QjI3MDAyRUJB
QjUgLyogTWVkaWFTdHJlYW0gKi8sCiAJCQkJNTEwNUIwRDIxNjJGN0E1RTAwRTI3NzA5IC8qIE5l
dHdvcmsgKi8sCiAJCQkJMzEwOTk5NzQxNDZDOEFBODAwMjlERUI5IC8qIE5vdGlmaWNhdGlvbnMg
KFVzZXIpICovLAorCQkJCTkzQjBBNjZDMjZENDUxMUYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uICov
LAogCQkJCTFBNkZCN0FBMTFFNjRCNDkwMERCMTM3MSAvKiBQbHVnaW5zICovLAogCQkJCTkzQUI5
QjQ4MjU3NEM1Q0UwMDk4QjEwRSAvKiBTcGVlY2ggKi8sCiAJCQkJNTExOEU5OTgxRjI5NTI1OTAw
M0VGOUY1IC8qIFN0b3JhZ2UgKi8sCkBAIC05OTMzLDYgKzk5NDgsOCBAQAogCQkJCTUxMjEyN0My
MTkwODIzOUEwMERBRjM1QyAvKiBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmggKi8sCiAJCQkJMEY4
NTBGRTQxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAg
Ki8sCiAJCQkJMEY4NTBGRTUxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2lu
Z0NsaWVudC5oICovLAorCQkJCTkzQjBBNjczMjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNz
aW9uQ29udHJvbGxlci5jcHAgKi8sCisJCQkJOTNCMEE2NzQyNkQ1QTcyRTAwQUEyMUU0IC8qIFdl
YlBlcm1pc3Npb25Db250cm9sbGVyLmggKi8sCiAJCQkJMUEzRTczNjAxMUNDMjY1OTAwN0JENTM5
IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgKi8sCiAJCQkJMUEzRTczNUYxMUNDMjY1OTAw
N0JENTM5IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5oICovLAogCQkJCUQzQjk0ODQyMTFGRjRC
NjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuY3BwICovLApAQCAtMTI2NjIsNiArMTI2NzksNyBA
QAogCQkJCUExNzk4QjRDMjIyRjFCRDQwMDA3NjRCRCAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eUNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUIxRjc5OTFEMUIzNjEzMDA3QzlCRDEg
LyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEY4NTBGRTcxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NzUyNkQ1QURDRjAwQUEyMUU0IC8qIFdlYlBl
cm1pc3Npb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTNFNzM2MTExQ0MyNjU5
MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzU3NDRGMDEyNjM4RkIzMDA2RjBGMTIgLyogV2ViUG9wdXBJdGVtLmggaW4gSGVhZGVycyAqLywK
IAkJCQlEM0I5NDg0NzExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVh
ZjMyNDM0NGNiMzU5N2I0ODBlYzUzNDA2YTRjNTcwYmMyNmFiNGYKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNv
bnRyb2xsZXIuY3BwCkBAIC0wLDAgKzEsMTQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIldlYlBlcm1pc3Npb25Db250cm9sbGVyLmgiCisKKyNpbmNsdWRl
ICJXZWJQYWdlLmgiCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK1dlYlBlcm1pc3Npb25Db250cm9sbGVyOjpXZWJQZXJtaXNzaW9uQ29u
dHJvbGxlcihXZWJQYWdlJiBwYWdlKQorICAgIDogbV9wYWdlKG1ha2VXZWFrUHRyKHBhZ2UpKQor
eworfQorCitXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6
OnF1ZXJ5KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6UGVybWlzc2lv
bkRlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQoreworICAgIGlmICghbV9wYWdlKQorICAgICAgICBy
ZXR1cm4gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpEZW5pZWQ7CisKKyAgICByZXR1cm4gcXVl
cnlDYWNoZShXVEZNb3ZlKG9yaWdpbiksIFdURk1vdmUoZGVzY3JpcHRvcikpOworfQorCit2b2lk
IFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpyZXF1ZXN0KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYm
IG9yaWdpbiwgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImJiBkZXNjcmlwdG9yLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlv
bkhhbmRsZXIpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybiBjb21wbGV0aW9u
SGFuZGxlcihXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkRlbmllZCk7CisKKyAgICBhdXRvIGNh
Y2hlZFJlc3VsdCA9IHF1ZXJ5Q2FjaGUob3JpZ2luLCBkZXNjcmlwdG9yKTsKKyAgICBpZiAoY2Fj
aGVkUmVzdWx0ICE9IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0KQorICAgICAgICBy
ZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoY2FjaGVkUmVzdWx0KTsKKworICAgIG1fcmVxdWVzdHMu
YXBwZW5kKFBlcm1pc3Npb25SZXF1ZXN0IHsgV1RGTW92ZShvcmlnaW4pLCBXVEZNb3ZlKGRlc2Ny
aXB0b3IpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSB9KTsKKyAgICB0cnlQcm9jZXNzaW5n
UmVxdWVzdCgpOworfQorCitXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgV2ViUGVybWlzc2lvbkNv
bnRyb2xsZXI6OnF1ZXJ5Q2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBvcmlnaW4s
IGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQoreworICAg
IGlmIChtX2NhY2hlZFBlcm1pc3Npb25FbnRyaWVzLmNvbnRhaW5zKG9yaWdpbikpIHsKKyAgICAg
ICAgYXV0byBwZXJtaXNzaW9uRW50cmllcyA9IG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXMuZ2V0
KG9yaWdpbik7CisgICAgICAgIGZvciAoYXV0byYgZW50cnkgOiBwZXJtaXNzaW9uRW50cmllcykg
eworICAgICAgICAgICAgaWYgKGVudHJ5LmZpcnN0ID09IGRlc2NyaXB0b3IpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIGVudHJ5LnNlY29uZDsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVy
biBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdDsKK30KKwordm9pZCBXZWJQZXJtaXNz
aW9uQ29udHJvbGxlcjo6dXBkYXRlQ2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBv
cmlnaW4sIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBX
ZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpCit7CisgICAgYXV0byYgZW50cmllcyA9IG1f
Y2FjaGVkUGVybWlzc2lvbkVudHJpZXMuZW5zdXJlKG9yaWdpbiwgWyZdKCkgeworICAgICAgICBy
ZXR1cm4gVmVjdG9yPFBlcm1pc3Npb25FbnRyeT4geyB9OworICAgIH0pLml0ZXJhdG9yLT52YWx1
ZTsKKyAgICBmb3IgKGF1dG8mIGVudHJ5IDogZW50cmllcykgeworICAgICAgICBpZiAoZW50cnku
Zmlyc3QgPT0gZGVzY3JpcHRvcikgeworICAgICAgICAgICAgaWYgKGVudHJ5LnNlY29uZCA9PSBz
dGF0ZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIGVudHJ5LnNlY29u
ZCA9IHN0YXRlOworICAgICAgICAgICAgcGVybWlzc2lvbkNoYW5nZWQob3JpZ2luLCBkZXNjcmlw
dG9yLCBzdGF0ZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9Cit9CisK
K3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnRyeVByb2Nlc3NpbmdSZXF1ZXN0KCkKK3sK
KyAgICBpZiAobV9yZXF1ZXN0cy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIHdo
aWxlICghbV9yZXF1ZXN0cy5pc0VtcHR5KCkpIHsKKyAgICAgICAgYXV0byYgY3VycmVudFJlcXVl
c3QgPSBtX3JlcXVlc3RzLmZpcnN0KCk7CisgICAgICAgIGlmIChjdXJyZW50UmVxdWVzdC5pc1dh
aXRpbmdGb3JSZXBseSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAvLyBDYWNoZSBt
YXkgaGF2ZSBjaGFuZ2VkIGJldHdlZW4gcmVxdWVzdHMuCisgICAgICAgIGF1dG8gY2FjaGVkUmVz
dWx0ID0gcXVlcnlDYWNoZShjdXJyZW50UmVxdWVzdC5vcmlnaW4sIGN1cnJlbnRSZXF1ZXN0LmRl
c2NyaXB0b3IpOworICAgICAgICBpZiAoY2FjaGVkUmVzdWx0ICE9IFdlYkNvcmU6OlBlcm1pc3Np
b25TdGF0ZTo6UHJvbXB0KSB7CisgICAgICAgICAgICBhdXRvIHRha2VuUmVxdWVzdCA9IG1fcmVx
dWVzdHMudGFrZUZpcnN0KCk7CisgICAgICAgICAgICB0YWtlblJlcXVlc3QuY29tcGxldGlvbkhh
bmRsZXIoY2FjaGVkUmVzdWx0KTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisK
KyAgICAgICAgY3VycmVudFJlcXVlc3QuaXNXYWl0aW5nRm9yUmVwbHkgPSB0cnVlOworICAgICAg
ICBtX3BhZ2UtPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpyZXF1
ZXN0UGVybWlzc2lvbihjdXJyZW50UmVxdWVzdC5vcmlnaW4sIGN1cnJlbnRSZXF1ZXN0LmRlc2Ny
aXB0b3IpLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldKGF1dG8gc3RhdGUp
IHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgICAgICBhdXRvIHRha2VuUmVxdWVzdCA9IG1fcmVxdWVzdHMudGFrZUZpcnN0KCk7
CisgICAgICAgICAgICB0YWtlblJlcXVlc3QuY29tcGxldGlvbkhhbmRsZXIoc3RhdGUpOworICAg
ICAgICAgICAgdXBkYXRlQ2FjaGUodGFrZW5SZXF1ZXN0Lm9yaWdpbiwgdGFrZW5SZXF1ZXN0LmRl
c2NyaXB0b3IsIHN0YXRlKTsKKworICAgICAgICAgICAgdHJ5UHJvY2Vzc2luZ1JlcXVlc3QoKTsK
KyAgICAgICAgfSk7CisgICAgfQorfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjph
ZGRPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImIG9ic2VydmVyKQoreworICAg
IG1fb2JzZXJ2ZXJzLmFkZChvYnNlcnZlcik7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRy
b2xsZXI6OnJlbW92ZU9ic2VydmVyKFdlYkNvcmU6OlBlcm1pc3Npb25PYnNlcnZlciYgb2JzZXJ2
ZXIpCit7CisgICAgbV9vYnNlcnZlcnMucmVtb3ZlKG9ic2VydmVyKTsKK30KKwordm9pZCBXZWJQ
ZXJtaXNzaW9uQ29udHJvbGxlcjo6cGVybWlzc2lvbkNoYW5nZWQoY29uc3QgV2ViQ29yZTo6Q2xp
ZW50T3JpZ2luJiBvcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiBk
ZXNjcmlwdG9yLCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpCit7CisgICAgZm9yIChh
dXRvJiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKSB7CisgICAgICAgIGlmIChvYnNlcnZlci5vcmln
aW4oKSA9PSBvcmlnaW4gJiYgb2JzZXJ2ZXIuZGVzY3JpcHRvcigpID09IGRlc2NyaXB0b3IpCisg
ICAgICAgICAgICBvYnNlcnZlci5zdGF0ZUNoYW5nZWQoc3RhdGUpOworICAgIH0KK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY3OWU1MGY1MDBiYjA2MGVjYTQ4ZThlMTRiZWY0YTc5MzI3Y2U2NzMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVy
bWlzc2lvbkNvbnRyb2xsZXIuaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1pc3Npb25Db250cm9sbGVyLmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uRGVzY3JpcHRvci5oPgorI2luY2x1ZGUgPHd0Zi9EZXF1
ZS5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsK
KworY2xhc3MgV2ViUGFnZTsKKworY2xhc3MgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIgZmluYWwg
OiBwdWJsaWMgV2ViQ29yZTo6UGVybWlzc2lvbkNvbnRyb2xsZXIgeworcHVibGljOgorICAgIGV4
cGxpY2l0IFdlYlBlcm1pc3Npb25Db250cm9sbGVyKFdlYlBhZ2UmKTsKKworcHJpdmF0ZToKKyAg
ICAvLyBXZWJDb3JlOjpQZXJtaXNzaW9uQ29udHJvbGxlcgorICAgIFdlYkNvcmU6OlBlcm1pc3Np
b25TdGF0ZSBxdWVyeShXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6UGVybWlzc2lv
bkRlc2NyaXB0b3ImJikgZmluYWw7CisgICAgdm9pZCByZXF1ZXN0KFdlYkNvcmU6OkNsaWVudE9y
aWdpbiYmLCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYpIGZpbmFsOworICAgIHZvaWQgYWRk
T2JzZXJ2ZXIoV2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyJikgZmluYWw7CisgICAgdm9pZCBy
ZW1vdmVPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImKSBmaW5hbDsKKworICAg
IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBxdWVyeUNhY2hlKGNvbnN0IFdlYkNvcmU6OkNsaWVu
dE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJik7CisgICAgdm9p
ZCB1cGRhdGVDYWNoZShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBjb25zdCBXZWJDb3Jl
OjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk7CisgICAg
dm9pZCB0cnlQcm9jZXNzaW5nUmVxdWVzdCgpOworICAgIHZvaWQgcGVybWlzc2lvbkNoYW5nZWQo
Y29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRl
c2NyaXB0b3ImLCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpOworCisgICAgV2Vha1B0cjxXZWJQ
YWdlPiBtX3BhZ2U7CisgICAgV2Vha0hhc2hTZXQ8V2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVy
PiBtX29ic2VydmVyczsKKworICAgIHVzaW5nIFBlcm1pc3Npb25FbnRyeSA9IHN0ZDo6cGFpcjxX
ZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciwgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlPjsK
KyAgICBIYXNoTWFwPFdlYkNvcmU6OkNsaWVudE9yaWdpbiwgVmVjdG9yPFBlcm1pc3Npb25FbnRy
eT4+IG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXM7CisKKyAgICBzdHJ1Y3QgUGVybWlzc2lvblJl
cXVlc3QgeworICAgICAgICBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luOworICAgICAgICBX
ZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yOworICAgICAgICBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+IGNvbXBsZXRpb25IYW5k
bGVyOworICAgICAgICBib29sIGlzV2FpdGluZ0ZvclJlcGx5IHsgZmFsc2UgfTsKKyAgICB9Owor
ICAgIERlcXVlPFBlcm1pc3Npb25SZXF1ZXN0PiBtX3JlcXVlc3RzOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAppbmRleCAwNGUzYWUyMDE0M2YyZjNkYmQyMDY0YTMwMmYwMWI4NGVkY2E5NjQ1Li43MTFl
ZDhlOTIyNzZlYjkzMWY1NDQ1Yzc0ZmQ2YzNiMGU5ZWI1NDFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTIxLDYgKzEyMSw3IEBACiAjaW5j
bHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQYXltZW50Q29vcmRp
bmF0b3IuaCIKICNpbmNsdWRlICJXZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaCIKKyNpbmNs
dWRlICJXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIldlYlBsdWdpbkluZm9Q
cm92aWRlci5oIgogI2luY2x1ZGUgIldlYlBvcHVwTWVudS5oIgogI2luY2x1ZGUgIldlYlByZWZl
cmVuY2VzRGVmaW5pdGlvbnMuaCIKQEAgLTU2Myw3ICs1NjQsOCBAQCBXZWJQYWdlOjpXZWJQYWdl
KFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFt
ZXRlcnMpCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KG1fbWFp
bkZyYW1lLmNvcHlSZWYoKSksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViU3BlZWNoUmVjb2du
aXRpb25Qcm92aWRlcj4obV9pZGVudGlmaWVyKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxNZWRp
YVJlY29yZGVyUHJvdmlkZXI+KCp0aGlzKSwKLSAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkuYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KCkKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkuYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KCksCisgICAgICAgIG1ha2VVbmlxdWVSZWY8
V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI+KCp0aGlzKQogICAgICk7CiAgICAgcGFnZUNvbmZpZ3Vy
YXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudCgqdGhpcyk7CiAjaWYgRU5B
QkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmgKaW5kZXggYmJm
OGQxYmI4Y2U2YzMwMWRjM2VmMjAxOTUzZDgyZmVjMDVlZGQ1OC4uNTZiYzgxYzc4ZjM0YWE0NTM0
NzkzNWQyNzFlYzU3MGMzZmM3ZWU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaApA
QCAtNTAsNyArNTAsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgc3RhcnROb3RpZmljYXRpb25NZWNo
YW5pc20oKSBmaW5hbDsKICAgICB2b2lkIHN0b3BOb3RpZmljYXRpb25NZWNoYW5pc20oKSBmaW5h
bDsKIAotICAgIHZvaWQgYWRqdXN0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKEZyYW1lc1BlclNl
Y29uZCkgZmluYWw7CisgICAgdm9pZCBhZGp1c3RQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQoV2Vi
Q29yZTo6RnJhbWVzUGVyU2Vjb25kKSBmaW5hbDsKIAogICAgIERpc3BsYXlMaW5rT2JzZXJ2ZXJJ
RCBtX29ic2VydmVySUQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlJ1bkxvb3BPYnNl
cnZlcj4gbV9ydW5Mb29wT2JzZXJ2ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KaW5kZXggY2Q2YTVmNTcyOTk0ZjdlYzRmYmRlNzYzN2RmODY3YmQ1MmYzYzgz
NC4uNDgwM2ViYzllYzc3ZTg4ZTE1YjI4ZTJiZWRjMTZkNjczYTcyODljZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTk1LDYgKzE5NSw3IEBACiAj
aW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFnZUNvbmZpZ3VyYXRp
b24uaD4KICNpbXBvcnQgPFdlYkNvcmUvUGF0aFV0aWxpdGllcy5oPgorI2ltcG9ydCA8V2ViQ29y
ZS9QZXJtaXNzaW9uQ29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybUV2ZW50
RmFjdG9yeU1hYy5oPgogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybVNjcmVlbi5oPgogI2ltcG9y
dCA8V2ViQ29yZS9Qcm9ncmVzc1RyYWNrZXIuaD4KQEAgLTE1MzYsNyArMTUzNyw4IEBAIHN0YXRp
YyB2b2lkIFdlYktpdEluaXRpYWxpemVHYW1lcGFkUHJvdmlkZXJJZk5lY2Vzc2FyeSgpCiAgICAg
ICAgIG1ha2VVbmlxdWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KCksCiAgICAgICAgIG1ha2VV
bmlxdWVSZWY8V2ViQ29yZTo6RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigpLAogICAg
ICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKSwKLSAg
ICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShbW3NlbGYgcHJl
ZmVyZW5jZXNdIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdKQorICAgICAgICBXZWJCcm9hZGNhc3RD
aGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZF0pLAorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15UGVy
bWlzc2lvbkNvbnRyb2xsZXI+KCkKICAgICApOwogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQog
ICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQo
c2VsZik7CkBAIC0xODE0LDcgKzE4MTYsOCBAQCBzdGF0aWMgdm9pZCBXZWJLaXRJbml0aWFsaXpl
R2FtZXBhZFByb3ZpZGVySWZOZWNlc3NhcnkoKQogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkZy
YW1lTG9hZGVyQ2xpZW50PigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15
U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJD
b3JlOjpNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCksCi0gICAgICAgIFdlYkJyb2FkY2FzdENoYW5u
ZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoW1tzZWxmIHByZWZlcmVuY2VzXSBwcml2YXRlQnJvd3Np
bmdFbmFibGVkXSkKKyAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNy
ZWF0ZShbW3NlbGYgcHJlZmVyZW5jZXNdIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdKSwKKyAgICAg
ICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpEdW1teVBlcm1pc3Npb25Db250cm9sbGVyPigpCiAg
ICAgKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21l
Q2xpZW50SU9TKHNlbGYpOwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlZpZXcuY3BwCmluZGV4IDFjZjMyZGEyNGEwOTBjZmUzZDJiNjUyOWNhODNmODI2YzU1
ODJlOWQuLmMxOWU4ZWZmNTdmODE5MGVhMmM0YmNlMzE1ZjBmODBiMzkyYzE5YjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC0xMzgsNiArMTM4LDcgQEAKICNpbmNsdWRlIDxX
ZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdlQ29uZmlndXJh
dGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGF0aFV0aWxpdGllcy5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvUGVybWlzc2lvbkNvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3Jt
S2V5Ym9hcmRFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1Nb3VzZUV2ZW50Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybVdoZWVsRXZlbnQuaD4KQEAgLTMxMzMsNyArMzEz
NCw4IEBAIEhSRVNVTFQgV2ViVmlldzo6aW5pdFdpdGhGcmFtZShSRUNUIGZyYW1lLCBfSW5fIEJT
VFIgZnJhbWVOYW1lLCBfSW5fIEJTVFIgZ3JvdXBOCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2Vi
RnJhbWVMb2FkZXJDbGllbnQ+KHdlYkZyYW1lKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1t
eVNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8TWVk
aWFSZWNvcmRlclByb3ZpZGVyPigpLAotICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0
cnk6OmdldE9yQ3JlYXRlKGZhbHNlKQorICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0
cnk6OmdldE9yQ3JlYXRlKGZhbHNlKSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1teVBlcm1p
c3Npb25Db250cm9sbGVyPigpCiAgICAgKTsKICAgICBjb25maWd1cmF0aW9uLmNocm9tZUNsaWVu
dCA9IG5ldyBXZWJDaHJvbWVDbGllbnQodGhpcyk7CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggZjEzNWZkYzMwOTc1NjA5NzZkYTgwOGM5OTg5ZjAwNzNiYzkxZDRlOS4uOTE1ZWFk
MTY1M2U5MmY0ZDc1Nzg5ZjcyZTllYjUyMTY4ZmU3MWY0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDIxLTA4LTI2ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAg
IEFkZCBzdHVicyBmb3IgUGVybWlzc2lvbnMgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzMzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vbWFjLXdrMS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRl
dGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93azIvVGVz
dEV4cGVjdGF0aW9uczoKKwogMjAyMS0wOC0yNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGluIEdyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IDhhNjY1MGY4ODI4NDk5ODAyYTlkMjBlZmU2OWI1NDMzN2I2NDRiOGYuLjM5YWUy
OGY3NDQzYjRkNDNjMTE0NDc2OTEzZWRmZjQxMDM2MDQ1YTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA4LTI2ICBTaWh1aSBMaXUgIDxzaWh1
aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdHVicyBmb3IgUGVybWlzc2lvbnMgQVBJ
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzMzkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndv
cmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Np
b25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmli
dXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1p
c3Npb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dy
b3VuZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA4LTI1ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW01hYyB3azJdIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3Jl
cG9ydGluZy10by1mcmFtZS1vd25lci5odHRwcy5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggNmJkZTJmOTRlYWQyMTdiODY0NDMyNTcxOGMxZjRjNjIxMWYyNzY3
MC4uOGJjOTM2OGQ4YThlZDI4YmFhYTU0MTNkYmY4YWJmMmMxNmZkMTkxZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCkBAIC0xOTYsNiArMTk2LDcgQEAgZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9wZXJtaXNz
aW9uLWVycm9yLmh0bWwgWyBTa2lwIF0KIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vc3RhcnQtcmVj
b2duaXRpb24tdGhlbi1zdG9wLmh0bWwgWyBTa2lwIF0KIGZhc3Qvc3BlZWNocmVjb2duaXRpb24v
c3RhcnQtc2Vjb25kLXJlY29nbml0aW9uLmh0bWwgWyBTa2lwIF0KIGZhc3Qvc3BlZWNocmVjb2du
aXRpb24vaW9zLyBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJt
aXNzaW9ucy8gWyBTa2lwIF0KIAogIyBhcHAtcHJpdmFjeS1yZXBvcnQgdGVzdHMgcmVseSBvbiBX
ZWJLaXRBZGRpdGlvbnMKIGh0dHAvdGVzdHMvYXBwLXByaXZhY3ktcmVwb3J0LyBbIFNraXAgXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55LWV4
cGVjdGVkLnR4dAppbmRleCBiODRkNDBkNzY1ZjIwNDA4M2RlZjhiNjc3MDBjNDIwNDRiMDM0Njk4
Li4wYzRiYWEwY2ZlZTAxZjk0Y2VhZjRhZjdmYjM4Zjg5YjRmYjZiYmU3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lk
bGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4
dApAQCAtMTksMjkgKzE5LDI5IEBAIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmln
YXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5j
bHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdv
cmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JPbkxpbmU6IG1lbWJlciBuYW1lcyBhcmUg
dW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JDb25jdXJyZW50
SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJt
aXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2lu
ZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25T
dGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlM
IFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4
cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Np
b25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1p
c3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJj
b25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBl
cm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
IEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkg
IlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBzdGF0ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVy
bWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTog
YXR0cmlidXRlIG9uY2hhbmdlIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJt
aXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgbXVzdCBiZSBwcmlt
YXJ5IGludGVyZmFjZSBvZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0
ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290
IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25T
dGF0dXMiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9l
cXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0
ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFi
bGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBw
ZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RhdGUiIHdpdGggdGhlIHBy
b3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVh
dGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBlcm1pc3Npb25T
dGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
b25jaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQg
ZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9i
amVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0
dXMiCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNz
aW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJt
aXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBl
cm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVy
dHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Np
b25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlz
c2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAi
UGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRp
b24gcXVlcnkob2JqZWN0KSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25z
IiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Yg
bmF2aWdhdG9yLnBlcm1pc3Npb25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3Qg
ZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBTdHJpbmdpZmljYXRp
b24gb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBv
YmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBQZXJtaXNz
aW9ucyBpbnRlcmZhY2U6IG5hdmlnYXRvci5wZXJtaXNzaW9ucyBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgInF1ZXJ5KG9iamVjdCkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IHdy
b25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgot
RkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGNhbGxpbmcgcXVlcnkob2JqZWN0KSBvbiBuYXZp
Z2F0b3IucGVybWlzc2lvbnMgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVF
cnJvciBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3Qi
IGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRl
IHBlcm1pc3Npb25zIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUg
YSBwcm9wZXJ0eSAicGVybWlzc2lvbnMiIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIE5h
dmlnYXRvciBpbnRlcmZhY2U6IG5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgInBlcm1p
c3Npb25zIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJw
ZXJtaXNzaW9ucyIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorUEFTUyBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBv
YmplY3QKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFT
UyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3Ry
dWN0b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2Nv
cGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgc3RhdGUKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNo
YW5nZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Yg
cGVybWlzc2lvblN0YXR1cworUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgcGVybWlzc2lvblN0YXR1
cworUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0
IGluaGVyaXQgcHJvcGVydHkgInN0YXRlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBQZXJt
aXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9uY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBQZXJtaXNzaW9ucyBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQ
QVNTIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1pc3Npb25z
IGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBQ
ZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUGVybWlz
c2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25z
IGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5KG9iamVjdCkKK1BBU1MgUGVybWlzc2lvbnMgbXVz
dCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMKK1BBU1MgU3Ry
aW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5wZXJtaXNzaW9ucworUEFTUyBQZXJtaXNzaW9ucyBp
bnRlcmZhY2U6IG5hdmlnYXRvci5wZXJtaXNzaW9ucyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInF1
ZXJ5KG9iamVjdCkiIHdpdGggdGhlIHByb3BlciB0eXBlCitQQVNTIFBlcm1pc3Npb25zIGludGVy
ZmFjZTogY2FsbGluZyBxdWVyeShvYmplY3QpIG9uIG5hdmlnYXRvci5wZXJtaXNzaW9ucyB3aXRo
IHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yCitQQVNTIE5hdmlnYXRvciBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBwZXJtaXNzaW9ucworUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNl
OiBuYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJwZXJtaXNzaW9ucyIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDUyNTYwMmQxNmQ3
ZjBmNTRjYThlZjAzZjdmY2Y1YjRlZWVmMzE2OTcuLjA2MmIyOTU3ZjMxNTUxYjM1MmE0OTU0MTZj
M2Y0YWJmYTU3OTllNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bl
cm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTE5LDI1ICsx
OSwyNSBAQCBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JJRDogbWVtYmVy
IG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRv
ckxhbmd1YWdlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3Ig
aW5jbHVkZXMgTmF2aWdhdG9yT25MaW5lOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBX
b3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJlOiBtZW1i
ZXIgbmFtZXMgYXJlIHVuaXF1ZQotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIg
ZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlz
c2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBz
ZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3Rh
dHVzIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0
eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
IlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBt
aXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHBy
b3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVz
IiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVz
IHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3Rh
dHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
c3RhdGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMi
IG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNo
YW5nZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIg
bWlzc2luZworUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmpl
Y3QgbmFtZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Npb25T
dGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25T
dGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25T
dGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3RhdGUKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNoYW5nZQogRkFJTCBQZXJtaXNzaW9uU3RhdHVzIG11c3Qg
YmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgcGVybWlzc2lvblN0YXR1cyBhc3NlcnRfZXF1YWxzOiBV
bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwg
YnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJt
aXNzaW9uU3RhdHVzIgogRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgcGVybWlzc2lvblN0YXR1cyBh
c3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0
IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgogRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0YXRlIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVu
IGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgogRkFJTCBQZXJt
aXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9uY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4
cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0
IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNz
aW9uU3RhdHVzIgotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAi
UGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBs
ZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwot
RkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVk
IHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQ
ZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlM
IFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIg
ZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25z
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBz
ZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJv
cGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTog
b3BlcmF0aW9uIHF1ZXJ5KG9iamVjdCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJt
aXNzaW9ucyIgbWlzc2luZworUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIFBlcm1pc3Npb25zIGludGVy
ZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbmFt
ZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
ICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVu
c2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogb3BlcmF0aW9u
IHF1ZXJ5KG9iamVjdCkKIEZBSUwgUGVybWlzc2lvbnMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFj
ZSBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9i
amVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCiBGQUlMIFN0cmluZ2lm
aWNhdGlvbiBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlw
ZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCiBGQUlMIFBl
cm1pc3Npb25zIGludGVyZmFjZTogbmF2aWdhdG9yLnBlcm1pc3Npb25zIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAicXVlcnkob2JqZWN0KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFs
czogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmlu
ZWQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Np
b24tZXhwZWN0ZWQudHh0CmluZGV4IGMzZTg2MDVmODcyODdhODAzODFmNWRiODA2Y2RkMDVhMjU1
NjVkZGUuLmMyZmQ2NWU4ZDQwMDJhNzIzMDE4N2E2MWY1MWMyODJlZmMxYzZiZWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lv
bnMvbmZjLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24tZXhwZWN0
ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgV2ViIE5GQyBQZXJtaXNzaW9uLiB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Np
b25zLnF1ZXJ5JykKK1BBU1MgVGVzdCBXZWIgTkZDIFBlcm1pc3Npb24uCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
cGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1Yi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bl
cm1pc3Npb25zL3Blcm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRw
cy5zdWItZXhwZWN0ZWQudHh0CmluZGV4IGU0MmRkYTI2MTJmMjU3YjdmMDJiYmVlZjY1NjMzYjI1
YjczNjQ3YTUuLmM0YmEyNDkyZTk5MTk5ZDY2NjA1YThjMDFhYTAxNTFiOTYyNDYwNzggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlz
c2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1
Yi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGljeS1hdHRy
aWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBQZXJt
aXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93PSJnZW9sb2NhdGlvbiIgaW4gc2Ft
ZS1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1
ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJwcm9tcHQiIGJ1dCBnb3QgKG9i
amVjdCkgbnVsbAotRkFJTCBQZXJtaXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93
PSJnZW9sb2NhdGlvbiIgaW4gY3Jvc3Mtb3JpZ2luIGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5h
dmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9jYXRpb24iKSBleHBlY3RlZCAoc3RyaW5n
KSAicHJvbXB0IiBidXQgZ290IChvYmplY3QpIG51bGwKLUZBSUwgUGVybWlzc2lvbi5zdGF0ZSBp
cyAicHJvbXB0IiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0
b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgKHN0cmluZykgInBy
b21wdCIgYnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIFBlcm1pc3Npb24uc3RhdGUgaXMgImRl
bmllZCIgaW4gY3Jvc3Mtb3JpZ2luIGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5w
ZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9jYXRpb24iKSBleHBlY3RlZCAoc3RyaW5nKSAiZGVuaWVk
IiBidXQgZ290IChvYmplY3QpIG51bGwKK1BBU1MgUGVybWlzc2lvbnMuc3RhdGUgaXMgInByb21w
dCIgd2l0aCBhbGxvdz0iZ2VvbG9jYXRpb24iIGluIHNhbWUtb3JpZ2luIGlmcmFtZXMuCitQQVNT
IFBlcm1pc3Npb25zLnN0YXRlIGlzICJwcm9tcHQiIHdpdGggYWxsb3c9Imdlb2xvY2F0aW9uIiBp
biBjcm9zcy1vcmlnaW4gaWZyYW1lcy4KK1BBU1MgUGVybWlzc2lvbi5zdGF0ZSBpcyAicHJvbXB0
IiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLgorRkFJTCBQZXJtaXNzaW9uLnN0YXRlIGlzICJkZW5p
ZWQiIGluIGNyb3NzLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVy
bWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgImRlbmllZCIgYnV0IGdvdCAi
cHJvbXB0IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9u
cy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dAppbmRleCAxMWZiMWEwZDYxMjRk
YTk0ZTAwMWU3ZGQ5MjNlMDE3Y2U2OWU3OGJhLi4wZTRlYmNjNDdjY2I5Mzg5MDhlY2U4NGNjNjhm
MTUzZDA4NTM3OWE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvcGVybWlzc2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwz
IEBACiAKLUZBSUwgVGVzdCBQZXJtaXNzaW9uU3RhdHVzJ3MgbmFtZSBhdHRyaWJ1dGUuIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5wZXJt
aXNzaW9ucy5xdWVyeScpIgorUEFTUyBUZXN0IFBlcm1pc3Npb25TdGF0dXMncyBuYW1lIGF0dHJp
YnV0ZS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CmluZGV4IDg1Yzdi
YmE1YzJiMjQ1OTNmNTFlMjE0NmJlMjViZDE2ZmEwNWZmNTguLjhlMGU3MDJkMWYyZGQ0OGNhNjk5
OWNhNWZiOTRlNTEyYTY0NWJlOWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNz
aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3Rl
ZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCAic2NyZWVuLXdha2UtbG9jayIgUGVy
bWlzc2lvbi4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAn
bmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykiCitQQVNTIFRlc3QgInNjcmVlbi13YWtlLWxv
Y2siIFBlcm1pc3Npb24uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1p
c3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBl
Y3RlZC50eHQKaW5kZXggOWE5NDI2OWZiNzQzOGZjNjNiZTE4ZDAwY2QyOTk3Y2M1OWJhOGRkNi4u
Nzg1YmI1ODVmNTE1OTVmZGVhMDUyMzQxNjcyMzgxM2M4ZGIyMzE1OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0
LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tn
cm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZB
SUwgVGVzdCBCYWNrZ3JvdW5kIEZldGNoIFBlcm1pc3Npb24uIHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKQorUEFTUyBU
ZXN0IEJhY2tncm91bmQgRmV0Y2ggUGVybWlzc2lvbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlv
ZGljLWJhY2tncm91bmQtc3luYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2Rp
Yy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXggMzE2ZDM1MWEw
ZTA3NTRiMWU1MDliZjNjYTBhZGE0YjY0ZGUzNTZhNy4uNGU5ZjM3YTg3NTZlYjE3YTJmYjg0ZjEx
NzAyYTE0M2E4NmI3MDk5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3lu
Yy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dyb3VuZC1z
eW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3Qg
UGVyaW9kaWMgQmFja2dyb3VuZCBTeW5jIFBlcm1pc3Npb24uIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeScp
IgorRkFJTCBUZXN0IFBlcmlvZGljIEJhY2tncm91bmQgU3luYyBQZXJtaXNzaW9uLiBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IFR5cGUgZXJyb3IiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEv
ZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azEvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNy
YXNoLWV4cGVjdGVkLnR4dAppbmRleCBjNDZmZWM2NDA1OThiZGY5YmZlYzViZmI3NTExZDY3MDg3
ZWMxYjZlLi5lMDgxNzAzNDU4MGEzZTJkMzJhMGMwYzVjNmRkY2Y1NDU3NTJjOTE2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRh
Y2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBA
IC0xMyw2ICsxMyw3IEBAIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBpcyBPSwogbmF2aWdh
dG9yLm1lZGlhU2Vzc2lvbiBpcyBPSwogbmF2aWdhdG9yLm1pbWVUeXBlcyBpcyBPSwogbmF2aWdh
dG9yLm9uTGluZSBpcyBPSworbmF2aWdhdG9yLnBlcm1pc3Npb25zIGlzIE9LCiBuYXZpZ2F0b3Iu
cGxhdGZvcm0gaXMgT0sKIG5hdmlnYXRvci5wbHVnaW5zIGlzIE9LCiBuYXZpZ2F0b3IucHJvZHVj
dCBpcyBPSwpAQCAtMzYsNiArMzcsNyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgaXMg
T0sKIG5hdmlnYXRvci5tZWRpYVNlc3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlwZXMgaXMg
T0sKIG5hdmlnYXRvci5vbkxpbmUgaXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyBPSwog
bmF2aWdhdG9yLnBsYXRmb3JtIGlzIE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwogbmF2aWdh
dG9yLnByb2R1Y3QgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5v
LWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCBkZjkwMTA5MDRkNTc3ZTg1YTA3NjY2N2E5MzdhZDc3
ZTZkOGY1OTU3Li5jNjhkM2NhMGIzMGNkY2VlN2RlMWViN2JlNDEzNjlhMGJlZGI4M2JhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1k
ZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0
CkBAIC0xOCw2ICsxOCw3IEBAIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBpcyBPSwogbmF2
aWdhdG9yLm1lZGlhU2Vzc2lvbiBpcyBPSwogbmF2aWdhdG9yLm1pbWVUeXBlcyBpcyBPSwogbmF2
aWdhdG9yLm9uTGluZSBpcyBPSworbmF2aWdhdG9yLnBlcm1pc3Npb25zIGlzIE9LCiBuYXZpZ2F0
b3IucGxhdGZvcm0gaXMgT0sKIG5hdmlnYXRvci5wbHVnaW5zIGlzIE9LCiBuYXZpZ2F0b3IucHJv
ZHVjdCBpcyBPSwpAQCAtNTEsNiArNTIsNyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMg
aXMgT0sKIG5hdmlnYXRvci5tZWRpYVNlc3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlwZXMg
aXMgT0sKIG5hdmlnYXRvci5vbkxpbmUgaXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyBP
SwogbmF2aWdhdG9yLnBsYXRmb3JtIGlzIE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwogbmF2
aWdhdG9yLnByb2R1Y3QgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dr
Mi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggNmNlZTBmYTJkNGQ1ZGZmNmI5ZDYxODI3ZWVlM2U5MTRkOTc5Yjk0NS4uNDA4
YzhiNDFiYzQzY2ExYjMzZjA2NDc5MTBhMmJhNWM2NjMzNmRiZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTg2MCw0ICs4NjAsNSBAQCBmYXN0L3NwZWVj
aHJlY29nbml0aW9uL3Blcm1pc3Npb24tZXJyb3IuaHRtbCBbIFBhc3MgXQogZmFzdC9zcGVlY2hy
ZWNvZ25pdGlvbi9zdGFydC1yZWNvZ25pdGlvbi10aGVuLXN0b3AuaHRtbCBbIFBhc3MgXQogZmFz
dC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1zZWNvbmQtcmVjb2duaXRpb24uaHRtbCBbIFBhc3Mg
XQogZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1lbnRlci13aGlsZS1leGl0aW5nLmh0bWwgWyBQYXNz
IF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvIFsgUGFzcyBd
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436664</attachid>
            <date>2021-08-27 13:31:19 -0700</date>
            <delta_ts>2021-08-27 15:21:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210827133117.patch</filename>
            <type>text/plain</type>
            <size>128083</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLmQ1ZjRiNTRmNDJlN2Y0YmQzMGQ0M2UxMjMxOTBiNmJiYjQ3NDlj
NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMjcgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIxLTA4LTI1
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92
ZSBzb21lIGlPUy1zcGVjaWZpYyBjb21waWxlLXRpbWUgZ3VhcmRzIHRoYXQgYXJlIG5vIGxvbmdl
ciBuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYTkzNTJkZDhlZjlkY2Q5NWZiZDY3MTJiNTRlYjRlZWZm
ZWQyNWMyLi42NGVkODg4ZmVkNzg5YmIxMWMyMDI0ZjNkNjJkYzJkZDdlZjJhOTc5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNzQgQEAKKzIwMjEtMDgtMjcgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiaW5kaW5ncyBj
b2RlIGFuZCBhIGZlYXR1cmUgZmxhZyBmb3IgUGVybWlzc2lvbnMgQVBJLgorICAgICAgICBTcGVj
OiBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLiBSZWJhc2VsaW5lIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9kdWxlcy9w
ZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAg
ICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6b3BlcmF0b3I9
PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yOjpkZWNvZGUp
OgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmg6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZl
ci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OlBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6flBlcm1pc3Npb25TdGF0
dXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvblN0YXR1czo6c3RhdGVDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUg
Y29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uczo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpQZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJtaXNzaW9uczo6bmF2aWdhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25z
OjpxdWVyeSk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbDogQWRk
ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OnBlcm1pc3Npb25Db250cm9sbGVyKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoK
KyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIGRvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0OjpwZXJtaXNzaW9uQ29udHJvbGxlcik6CisgICAgICAgICogZG9tL1Rhc2tTb3VyY2Uu
aDoKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnBhZ2VDb25maWd1cmF0aW9uV2l0aEVtcHR5Q2xpZW50cyk6CisgICAgICAgICogcGFnZS9QYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1fcGVybWlzc2lvbkNvbnRyb2xsZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6UGFnZTo6cGVybWlzc2lvbkNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6bV9odHRwc1VwZ3JhZGVFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1BhZ2Uu
aDoKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbik6CisgICAgICAgICogcGFn
ZS9QYWdlQ29uZmlndXJhdGlvbi5oOgorCiAyMDIxLTA4LTI1ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ3Jhc2ggaW4gR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6OnJlc2hhcGVEaXNwbGF5QnVmZmVyQmFja2luZwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0MjQx
YjJlNmZhNzg1NGYxNWZkMzNjNmNhOWM3ZmViMzdiYzFkYjIxLi5mZDM3NGQ3N2M4NjU2MDZlMWFm
MzE1YmU3NDIwN2QzMmVkNTg2NDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTA4
LTI3ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdHVi
cyBmb3IgUGVybWlzc2lvbnMgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjkzMzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBTZXQgdXAgYmFzaWMgaW5mcmFzdHJjdHVyZSBvZiBwZXJtaXNzaW9uIGdl
dHRpbmcgYW5kIHNldHRpbmcuCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5
OjpyZXF1ZXN0UGVybWlzc2lvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAg
ICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6V2ViUGVybWlzc2lvbkNvbnRy
b2xsZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVlcnkp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cmVxdWVzdCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjpxdWVyeUNhY2hlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnVwZGF0ZUNhY2hlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnRyeVByb2Nlc3NpbmdSZXF1
ZXN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OmFkZE9ic2Vy
dmVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnJlbW92ZU9i
c2VydmVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnBlcm1p
c3Npb25DaGFuZ2VkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBl
cm1pc3Npb25Db250cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV9hcHBIaWdobGlnaHRzVmlzaWJsZSk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JN
YWMuaDoKKwogMjAyMS0wOC0yNiAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255
LmNvbT4KIAogICAgICAgICBbY3VybF0gUkVHUkVTU0lPTihyMjgxMTU4KTogZmV0Y2goJ2h0dHA6
Ly9sb2NhbGhvc3QvJykgZnJvbSBhYm91dDpibGFuayBkb2Vzbid0IGVtaXQgdGhlIGNvbnNvbGUg
ZXJyb3IgbWVzc2FnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDQ1YTU0ODZlMDU4
MDVkOTdiYzFlNDhiNDRmOTNkYTMwMzI4YTZhMWQuLmMzZWFiNDRmMjAxODRlMDU2YjFhZDEwNDg3
OWNkMTM3N2YwNDA5ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAyMS0wOC0yNyAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAg
ICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6
XSk6CisgICAgICAgICgtW1dlYlZpZXcgaW5pdFNpbXBsZUhUTUxEb2N1bWVudFdpdGhTdHlsZTpm
cmFtZTpwcmVmZXJlbmNlczpncm91cE5hbWU6XSk6CisKIDIwMjEtMDgtMjQgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbV0syXSBJbXBsZW1lbnQgcHJvY2Vzcy1z
d2FwcGluZyBiYXNlZCBvbiBDcm9zcy1PcmlnaW4tT3BlbmVyLVBvbGljeSBIVFRQIGhlYWRlcgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCmluZGV4IGUyODE1MTAyOThhOGM3MzY0MWRjNDA0OTU2
OTdhMmRmNDVhNTEzY2EuLjJjNWMwYmJhMjk5NzE3YzNmOTYwNTllYzkxMTlhOGE0ZmQ2YmUzYjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wOC0y
NyAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3R1YnMg
Zm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI5MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJh
bWUpOgorCiAyMDIxLTA4LTI0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAg
ICAgICAgW1dLMl0gSW1wbGVtZW50IHByb2Nlc3Mtc3dhcHBpbmcgYmFzZWQgb24gQ3Jvc3MtT3Jp
Z2luLU9wZW5lci1Qb2xpY3kgSFRUUCBoZWFkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2Ny
aXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNl
L1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwK
aW5kZXggMTg1YTVhYzBmNDU0Yzc2YzAzNDc5MmFkMTg1NzYxZmNjYTY5NDk5MS4uNTU1NDYwMGRi
YzY2NThmYTFjYWIyZDA1OGNkNTM1ZGFmNTI5MzFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9T
Y3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIv
U291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFs
LnlhbWwKQEAgLTg4MSw2ICs4ODEsMTggQEAgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ1NlbnNp
dGl2ZVByb3BlcnRpZXNFbmFibGVkOgogICAgIFdlYkNvcmU6CiAgICAgICBkZWZhdWx0OiBmYWxz
ZQogCitQZXJtaXNzaW9uc0FQSUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVtYW5SZWFkYWJs
ZU5hbWU6ICJQZXJtaXNzaW9ucyBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVu
YWJsZSBQZXJtaXNzaW9ucyBBUEkiCisgIGRlZmF1bHRWYWx1ZToKKyAgICBXZWJLaXRMZWdhY3k6
CisgICAgICBkZWZhdWx0OiBmYWxzZQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IGZhbHNl
CisgICAgV2ViQ29yZToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisKIFByaXZhdGVDbGlja01lYXN1
cmVtZW50RGVidWdNb2RlRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBodW1hblJlYWRhYmxlTmFt
ZTogIlByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnQgRGVidWcgTW9kZSIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKaW5kZXggYmJiODQyYTUzOWExMDg3YzllMWRiNDYzZDAxOWRkMmIxMjMxNDJjOS4uMDdlNWUw
NTU4ZjZkZGQ0MTFlYzRjZjU5NmRlMzQzZjQ4M2MwOTc3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
QEAgLTQ4LDYgKzQ4LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9JTkNMVURFX0RJUkVDVE9SSUVT
CiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzIgogICAg
ICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMiCiAgICAgIiR7V0VCQ09SRV9E
SVJ9L01vZHVsZXMvcGF5bWVudHJlcXVlc3QiCisgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
cGVybWlzc2lvbnMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGljdHVyZWlucGljdHVy
ZSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9wbHVnaW5zIgogICAgICIke1dFQkNPUkVf
RElSfS9Nb2R1bGVzL3JlbW90ZXBsYXliYWNrIgpAQCAtMjAxLDYgKzIwMiw3IEBAIHNldChXZWJD
b3JlX0lETF9JTkNMVURFUwogICAgIE1vZHVsZXMvbW9kZWwtZWxlbWVudAogICAgIE1vZHVsZXMv
bm90aWZpY2F0aW9ucwogICAgIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QKKyAgICBNb2R1bGVzL3Bl
cm1pc3Npb25zCiAgICAgTW9kdWxlcy9zcGVlY2gKICAgICBNb2R1bGVzL3N0cmVhbXMKICAgICBN
b2R1bGVzL3dlYmF1ZGlvCkBAIC00NjAsNiArNDYyLDEzIEBAIHNldChXZWJDb3JlX05PTl9TVkdf
SURMX0ZJTEVTCiAgICAgTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdUeXBl
LmlkbAogICAgIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFZhbGlkYXRpb25FcnJvcnMu
aWRsCiAKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwK
KyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbAorICAgIE1v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uU3RhdHVzLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCisK
ICAgICBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGljdHVyZUluUGljdHVyZS5p
ZGwKICAgICBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGlj
dHVyZUluUGljdHVyZS5pZGwKICAgICBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0
dXJlSW5QaWN0dXJlRXZlbnQuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdAppbmRleCAzOWIyYjMwMDRlNGM1Nzk0MzdlNjVhY2E5NzMyN2M3OGQ0
ZDc0NWRlLi41MTFiNTEzMTIwMGFiZWM4M2JlNDkwN2E3YmU0MTkyM2E2MmYzNjk5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTM4OCw2
ICszODgsMTIgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50
UmVzcG9uc2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1l
bnRTaGlwcGluZ09wdGlvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5bWVudHJlcXVl
c3QvUGF5bWVudFNoaXBwaW5nVHlwZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvUGF5bWVudFZhbGlkYXRpb25FcnJvcnMuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwKKyQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbAorJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3Qr
UGljdHVyZUluUGljdHVyZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGlj
dHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggMTk2NzFmNzUwNmQ2YTc5Mzc0
YzVlYTQ1YWM3NzFmYzdmMWI3OTUyYi4uOWI0ODRhYmE0OGMyYzVjZmM2MGFjZWVlYzI5M2ViY2E5
YzM5NzFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QKQEAgLTEzNzcsNiArMTM3Nyw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhRGV2aWNlcy5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhRGV2
aWNlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05h
dmlnYXRvcitNZWRpYVNlc3Npb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitNZWRpYVNlc3Npb24uaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrUGVybWlzc2lvbnMuY3Bw
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRv
citQZXJtaXNzaW9ucy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU05hdmlnYXRvcitXZWJEcml2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitXZWJEcml2ZXIuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViWFIuY3BwCkBA
IC0xNTgzLDYgKzE1ODUsMTYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJpb2RpY1dhdmVDb25zdHJhaW50cy5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2RpY1dh
dmVPcHRpb25zLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNQZXJpb2RpY1dhdmVPcHRpb25zLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbkRlc2NyaXB0b3IuY3BwCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25EZXNjcmlwdG9yLmgK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lv
bk5hbWUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1Blcm1pc3Npb25OYW1lLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUGVybWlzc2lvblN0YXRlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdGUuaAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdHVzLmNwcAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdHVz
LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlz
c2lvbnMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1Blcm1pc3Npb25zLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUGljdHVyZUluUGljdHVyZVdpbmRvdy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGljdHVyZUluUGljdHVyZVdpbmRvdy5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BsYXliYWNrRGlyZWN0aW9u
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZDY0ZTY1ZTg2ZTVlMTE0MjY2
N2E5ZTM4Mjc2ODNhOTY5MmYyN2FmMS4uZjllZTY0MjhiYTBhNTRkNTRjMDI1N2FhNmQ2YTAwMDFl
MmU0MjFiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zMjQsNiArMzI0LDEy
IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRTaGlwcGluZ09wdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdUeXBlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzLmlkbCBcCisg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5p
ZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3Jp
cHRvci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
TmFtZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
U3RhdGUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
blN0YXR1cy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3Vt
ZW50T3JTaGFkb3dSb290K1BpY3R1cmVJblBpY3R1cmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudCtQaWN0dXJlSW5QaWN0dXJlLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0
dXJlRXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IGViMDdiODBjOTkzM2Q2OWE4YzM2
MzE5MThjNzVkYmU0ZTM3YTkyYjguLjc2Y2UwYzY2MWZlZTgzMGQxNzZlMzYxZjU3OTg3MzVjN2Fl
MWUwY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTI5LDYgKzEyOSwxMiBAQCBzZXQoV2ViQ29y
ZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblBlcm1pc3Npb24uaAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaAogCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uQ29udHJvbGxlci5oCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVz
Y3JpcHRvci5oCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oCisgICAg
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uT2JzZXJ2ZXIuaAorICAgIE1vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmgKKwogICAgIE1vZHVsZXMvcGx1Z2lucy9QbHVnaW5S
ZXBsYWNlbWVudC5oCiAgICAgTW9kdWxlcy9wbHVnaW5zL1lvdVR1YmVQbHVnaW5SZXBsYWNlbWVu
dC5oCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2
aWdhdG9yK1Blcm1pc3Npb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lv
bnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MGIxMjdlN2YzYTFjNTY2
NmNkMGQwYzg4ZmU5MTFlOTZjODM0ZjY1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCkBAIC0wLDAg
KzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lv
bnMvI25hdmlnYXRvci1hbmQtd29ya2VybmF2aWdhdG9yLWV4dGVuc2lvbgorCitbCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKKyAgICBJbXBsZW1lbnRlZEJ5PU5hdmlnYXRv
clBlcm1pc3Npb25zCitdIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7CisgICAgW1NhbWVP
YmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBQZXJtaXNzaW9ucyBwZXJtaXNzaW9uczsKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBl
cm1pc3Npb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdh
dG9yUGVybWlzc2lvbnMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5MWY1NTU4ODZkOGU3MWEzNDllZTc1YmYz
YzQxNmYwMmYxYzQ3YWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcApAQCAtMCwwICsxLDY5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5hdmlnYXRvclBlcm1p
c3Npb25zLmgiCisKKyNpbmNsdWRlICJOYXZpZ2F0b3IuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9u
cy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK05hdmlnYXRvclBlcm1pc3Npb25zOjpOYXZp
Z2F0b3JQZXJtaXNzaW9ucyhOYXZpZ2F0b3ImIG5hdmlnYXRvcikKKyAgICA6IG1fbmF2aWdhdG9y
KG5hdmlnYXRvcikKK3sKK30KKworUmVmUHRyPFBlcm1pc3Npb25zPiBOYXZpZ2F0b3JQZXJtaXNz
aW9uczo6cGVybWlzc2lvbnMoTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCit7CisgICAgcmV0dXJuIE5h
dmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKG5hdmlnYXRvciktPnBlcm1pc3Npb25zKCk7Cit9CisK
K1JlZlB0cjxQZXJtaXNzaW9ucz4gTmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKCkK
K3sKKyAgICBpZiAoIW1fcGVybWlzc2lvbnMpCisgICAgICAgIG1fcGVybWlzc2lvbnMgPSBQZXJt
aXNzaW9uczo6Y3JlYXRlKG1fbmF2aWdhdG9yKTsKKworICAgIHJldHVybiBtX3Blcm1pc3Npb25z
OworfQorCitOYXZpZ2F0b3JQZXJtaXNzaW9ucyogTmF2aWdhdG9yUGVybWlzc2lvbnM6OmZyb20o
TmF2aWdhdG9yJiBuYXZpZ2F0b3IpCit7CisgICAgYXV0byogc3VwcGxlbWVudCA9IHN0YXRpY19j
YXN0PE5hdmlnYXRvclBlcm1pc3Npb25zKj4oU3VwcGxlbWVudDxOYXZpZ2F0b3I+Ojpmcm9tKCZu
YXZpZ2F0b3IsIHN1cHBsZW1lbnROYW1lKCkpKTsKKyAgICBpZiAoIXN1cHBsZW1lbnQpIHsKKyAg
ICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gbWFrZVVuaXF1ZTxOYXZpZ2F0b3JQZXJtaXNzaW9u
cz4obmF2aWdhdG9yKTsKKyAgICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7
CisgICAgICAgIHByb3ZpZGVUbygmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpLCBXVEZNb3Zl
KG5ld1N1cHBsZW1lbnQpKTsKKyAgICB9CisKKyAgICByZXR1cm4gc3VwcGxlbWVudDsKK30KKwor
Y29uc3QgY2hhciogTmF2aWdhdG9yUGVybWlzc2lvbnM6OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAg
ICByZXR1cm4gIk5hdmlnYXRvclBlcm1pc3Npb25zIjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZp
Z2F0b3JQZXJtaXNzaW9ucy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9O
YXZpZ2F0b3JQZXJtaXNzaW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwYTczOWRhNzE0NDBjN2EzM2IyMzJj
YWU5ODM1MjAxOWZkYTQ0NGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmgKQEAgLTAsMCArMSw1MSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBOYXZpZ2F0b3I7CitjbGFzcyBQZXJtaXNz
aW9uczsKKworY2xhc3MgTmF2aWdhdG9yUGVybWlzc2lvbnMgZmluYWwgOiBwdWJsaWMgU3VwcGxl
bWVudDxOYXZpZ2F0b3I+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
KyAgICBleHBsaWNpdCBOYXZpZ2F0b3JQZXJtaXNzaW9ucyhOYXZpZ2F0b3ImKTsKKworICAgIHN0
YXRpYyBSZWZQdHI8UGVybWlzc2lvbnM+IHBlcm1pc3Npb25zKE5hdmlnYXRvciYpOworICAgIFJl
ZlB0cjxQZXJtaXNzaW9ucz4gcGVybWlzc2lvbnMoKTsKKworcHJpdmF0ZToKKyAgICBzdGF0aWMg
TmF2aWdhdG9yUGVybWlzc2lvbnMqIGZyb20oTmF2aWdhdG9yJik7CisgICAgc3RhdGljIGNvbnN0
IGNoYXIqIHN1cHBsZW1lbnROYW1lKCk7CisKKyAgICBSZWZQdHI8UGVybWlzc2lvbnM+IG1fcGVy
bWlzc2lvbnM7CisgICAgTmF2aWdhdG9yJiBtX25hdmlnYXRvcjsKK307CisKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xs
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkNvbnRy
b2xsZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jOTRhMzU5ZWM1Y2I1N2YxMjA3ZmZiNWE4OTAwZjg2ODE3ZDI3
YzI3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uQ29udHJvbGxlci5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlBlcm1pc3Npb25TdGF0ZS5oIgorI2luY2x1ZGUgPHd0
Zi9Db21wbGV0aW9uSGFuZGxlci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBl
cm1pc3Npb25PYnNlcnZlcjsKK3N0cnVjdCBDbGllbnRPcmlnaW47CitzdHJ1Y3QgUGVybWlzc2lv
bkRlc2NyaXB0b3I7CisKK2NsYXNzIFBlcm1pc3Npb25Db250cm9sbGVyIDogcHVibGljIFRocmVh
ZFNhZmVSZWZDb3VudGVkPFBlcm1pc3Npb25Db250cm9sbGVyPiB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UGVybWlzc2lvbkNvbnRyb2xsZXIo
KSA9IGRlZmF1bHQ7CisgICAgdmlydHVhbCBQZXJtaXNzaW9uU3RhdGUgcXVlcnkoQ2xpZW50T3Jp
Z2luJiYsIFBlcm1pc3Npb25EZXNjcmlwdG9yJiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVx
dWVzdChDbGllbnRPcmlnaW4mJiwgUGVybWlzc2lvbkRlc2NyaXB0b3ImJiwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChQZXJtaXNzaW9uU3RhdGUpPiYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGFk
ZE9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVt
b3ZlT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgPSAwOworfTsKKworY2xhc3MgRHVtbXlQ
ZXJtaXNzaW9uQ29udHJvbGxlciBmaW5hbCA6IHB1YmxpYyBQZXJtaXNzaW9uQ29udHJvbGxlciB7
CisgICAgUGVybWlzc2lvblN0YXRlIHF1ZXJ5KENsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVz
Y3JpcHRvciYmKSBmaW5hbCB7IHJldHVybiBQZXJtaXNzaW9uU3RhdGU6OkRlbmllZDsgfQorICAg
IHZvaWQgcmVxdWVzdChDbGllbnRPcmlnaW4mJiwgUGVybWlzc2lvbkRlc2NyaXB0b3ImJiwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChQZXJtaXNzaW9uU3RhdGUpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KSBmaW5hbCB7IGNvbXBsZXRpb25IYW5kbGVyKFBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkKTsgfQor
ICAgIHZvaWQgYWRkT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgZmluYWwgeyB9CisgICAg
dm9pZCByZW1vdmVPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSBmaW5hbCB7IH0KK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTg0
YjJkNGM3N2E5OGU5NWI2NjQ5OGRjNGQwYjM4YTkwODllMWU1Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5o
CkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
IlBlcm1pc3Npb25OYW1lLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IFBlcm1p
c3Npb25EZXNjcmlwdG9yIHsKKyAgICBQZXJtaXNzaW9uTmFtZSBuYW1lOworCisgICAgYm9vbCBv
cGVyYXRvcj09KGNvbnN0IFBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yKSBjb25zdCB7
IHJldHVybiBuYW1lID09IGRlc2NyaXB0b3IubmFtZTsgfQorICAgIHRlbXBsYXRlPGNsYXNzIEVu
Y29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBE
ZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxQZXJtaXNzaW9uRGVzY3JpcHRvcj4gZGVjb2Rl
KERlY29kZXImKTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+IGlubGluZSB2b2lkIFBl
cm1pc3Npb25EZXNjcmlwdG9yOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAg
ICBlbmNvZGVyIDw8IG5hbWU7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0ZDo6b3B0
aW9uYWw8UGVybWlzc2lvbkRlc2NyaXB0b3I+IFBlcm1pc3Npb25EZXNjcmlwdG9yOjpkZWNvZGUo
RGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBQZXJtaXNzaW9uRGVzY3JpcHRvciByZXN1bHQ7Cisg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubmFtZSkpCisgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25EZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmMzZhMzJhMmNjY2QzMzk5Mzli
N2RlODM1ZGZlZGJiZjRmNTdjYzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbApAQCAtMCwwICsxLDMy
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNk
aWN0ZGVmLXBlcm1pc3Npb25kZXNjcmlwdG9yCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBl
cm1pc3Npb25zQVBJLAorXSBkaWN0aW9uYXJ5IFBlcm1pc3Npb25EZXNjcmlwdG9yIHsKKyAgICBy
ZXF1aXJlZCBQZXJtaXNzaW9uTmFtZSBuYW1lOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTA5ZTE5
MGYyMjc1NmVhMjEzMDk3NTA0MjgzZDQ5MjYzYzdjNTcxCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oCkBAIC0wLDAg
KzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitlbnVtIGNsYXNzIFBlcm1pc3Npb25OYW1lIDogdWludDhfdCB7CisgICAgQWNjZWxlcm9t
ZXRlciwKKyAgICBCYWNrZ3JvdW5kRmV0Y2gsCisgICAgQmx1ZXRvb3RoLAorICAgIENhbWVyYSwK
KyAgICBEaXNwbGF5Q2FwdHVyZSwKKyAgICBHZW9sb2NhdGlvbiwKKyAgICBHeXJvc2NvcGUsCisg
ICAgTWFnbmV0b21ldGVyLAorICAgIE1pY3JvcGhvbmUsCisgICAgTWlkaSwKKyAgICBOZmMsCisg
ICAgTm90aWZpY2F0aW9ucywKKyAgICBTcGVha2VyU2VsZWN0aW9uCit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVt
VHJhaXRzPFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51
bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWUsCisgICAgICAgIFdlYkNv
cmU6OlBlcm1pc3Npb25OYW1lOjpBY2NlbGVyb21ldGVyLAorICAgICAgICBXZWJDb3JlOjpQZXJt
aXNzaW9uTmFtZTo6QmFja2dyb3VuZEZldGNoLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9u
TmFtZTo6Qmx1ZXRvb3RoLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6Q2FtZXJh
LAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6RGlzcGxheUNhcHR1cmUsCisgICAg
ICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpHZW9sb2NhdGlvbiwKKyAgICAgICAgV2ViQ29y
ZTo6UGVybWlzc2lvbk5hbWU6Okd5cm9zY29wZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lv
bk5hbWU6Ok1hZ25ldG9tZXRlciwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok1p
Y3JvcGhvbmUsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpNaWRpLAorICAgICAg
ICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6TmZjLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNz
aW9uTmFtZTo6Tm90aWZpY2F0aW9ucywKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6
OlNwZWFrZXJTZWxlY3Rpb24KKyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1l
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmVkOGJlMGZkNzVjMmNjYjdkOGFmOWU5Yjk2NjE3M2VmNjE4N2Q4NmMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25OYW1lLmlkbApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNlbnVtZGVmLXBlcm1pc3Npb25uYW1lCisKK1sK
KyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBlbnVtIFBlcm1pc3Npb25O
YW1lIHsKKyAgICAvLyBGSVhNRTogdXBkYXRlIHRoZSBsaXN0IHRvIG1hdGNoIHNwZWMgd2hlbiBu
ZXcgZmVhdHVyZXMgYXJlIGltcGxlbWVudGVkLgorICAgICJhY2NlbGVyb21ldGVyIiwKKyAgICAi
YmFja2dyb3VuZC1mZXRjaCIsCisgICAgImJsdWV0b290aCIsCisgICAgImNhbWVyYSIsCisgICAg
ImRpc3BsYXktY2FwdHVyZSIsCisgICAgImdlb2xvY2F0aW9uIiwKKyAgICAiZ3lyb3Njb3BlIiwK
KyAgICAibWFnbmV0b21ldGVyIiwKKyAgICAibWljcm9waG9uZSIsCisgICAgIm1pZGkiLAorICAg
ICJuZmMiLAorICAgICJub3RpZmljYXRpb25zIiwKKyAgICAic3BlYWtlci1zZWxlY3Rpb24iCit9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvbk9ic2VydmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjE3ZDZkYTU5MWQ3ZDY0YWJlYWI4Y2JjYmE2M2Jj
MWExZjI1YjBhOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbk9ic2VydmVyLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXRlLmgiCisjaW5jbHVk
ZSA8d3RmL1dlYWtQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQ2xpZW50
T3JpZ2luOworc3RydWN0IFBlcm1pc3Npb25EZXNjcmlwdG9yOworCitjbGFzcyBQZXJtaXNzaW9u
T2JzZXJ2ZXIgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UGVybWlzc2lvbk9ic2VydmVyPiB7Citw
dWJsaWM6CisgICAgdmlydHVhbCB+UGVybWlzc2lvbk9ic2VydmVyKCkgPSBkZWZhdWx0OworCisg
ICAgdmlydHVhbCB2b2lkIHN0YXRlQ2hhbmdlZChQZXJtaXNzaW9uU3RhdGUpID0gMDsKKyAgICB2
aXJ0dWFsIGNvbnN0IENsaWVudE9yaWdpbiYgb3JpZ2luKCkgY29uc3QgPSAwOworICAgIHZpcnR1
YWwgY29uc3QgUGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IoKSBjb25zdCA9IDA7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lY2FkZjUyMDFl
MGMzN2IzMGY0YjcyZWEwODA0MDg1ODRiODg4NDg0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaApAQCAtMCwwICsx
LDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvRW51bVRy
YWl0cy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgUGVybWlzc2lvblN0
YXRlIDogdWludDhfdCB7CisgICAgR3JhbnRlZCwKKyAgICBEZW5pZWQsCisgICAgUHJvbXB0Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0
ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZT4geworICAgIHVz
aW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0
ZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpHcmFudGVkLAorICAgICAgICBX
ZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkRlbmllZCwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlz
c2lvblN0YXRlOjpQcm9tcHQKKyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzU3Nzk3ODEyZDE5ODY5ZWYzZTUxYTJkYjllYThhN2FmMTY4YWM5
YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvblN0YXRlLmlkbApAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNlbnVtZGVmLXBlcm1pc3Npb25zdGF0ZQor
CitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKK10gZW51bSBQZXJtaXNz
aW9uU3RhdGUgeworICAgICJncmFudGVkIiwKKyAgICAiZGVuaWVkIiwKKyAgICAicHJvbXB0Igor
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvblN0YXR1cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25TdGF0dXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkZjM2NmQ1NDA0ODE3NTJiNDA5MTcwZWUzZGI4
MTFmYTc3Mjk1MDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuY3BwCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXR1cy5oIgor
CisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2lu
Y2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgorI2luY2x1
ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RG
X01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFBlcm1pc3Npb25TdGF0dXMpOworCitSZWY8UGVybWlz
c2lvblN0YXR1cz4gUGVybWlzc2lvblN0YXR1czo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSwgUGVybWlzc2lvbkRlc2NyaXB0b3Ig
ZGVzY3JpcHRvcikKK3sKKyAgICBhdXRvIHN0YXR1cyA9IGFkb3B0UmVmKCpuZXcgUGVybWlzc2lv
blN0YXR1cyhjb250ZXh0LCBzdGF0ZSwgZGVzY3JpcHRvcikpOworICAgIHN0YXR1cy0+c3VzcGVu
ZElmTmVlZGVkKCk7CisgICAgcmV0dXJuIHN0YXR1czsKK30KKworUGVybWlzc2lvblN0YXR1czo6
UGVybWlzc2lvblN0YXR1cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBQZXJtaXNz
aW9uU3RhdGUgc3RhdGUsIFBlcm1pc3Npb25EZXNjcmlwdG9yIGRlc2NyaXB0b3IpCisgICAgOiBB
Y3RpdmVET01PYmplY3QoJmNvbnRleHQpCisgICAgLCBtX3N0YXRlKHN0YXRlKQorICAgICwgbV9k
ZXNjcmlwdG9yKGRlc2NyaXB0b3IpCisgICAgLCBtX2NvbnRyb2xsZXIoY29udGV4dC5wZXJtaXNz
aW9uQ29udHJvbGxlcigpKQoreworICAgIGF1dG8qIG9yaWdpbiA9IGNvbnRleHQuc2VjdXJpdHlP
cmlnaW4oKTsKKyAgICBhdXRvIG9yaWdpbkRhdGEgPSBvcmlnaW4gPyBvcmlnaW4tPmRhdGEoKSA6
IFNlY3VyaXR5T3JpZ2luRGF0YSB7IH07CisgICAgbV9vcmlnaW4gPSBDbGllbnRPcmlnaW4geyBj
b250ZXh0LnRvcE9yaWdpbigpLmRhdGEoKSwgb3JpZ2luRGF0YSB9OworfQorCitQZXJtaXNzaW9u
U3RhdHVzOjp+UGVybWlzc2lvblN0YXR1cygpCit7CisgICAgaWYgKG1fY29udHJvbGxlcikKKyAg
ICAgICAgbV9jb250cm9sbGVyLT5yZW1vdmVPYnNlcnZlcigqdGhpcyk7Cit9CisKK3ZvaWQgUGVy
bWlzc2lvblN0YXR1czo6c3RhdGVDaGFuZ2VkKFBlcm1pc3Npb25TdGF0ZSBuZXdTdGF0ZSkKK3sK
KyAgICBpZiAobV9zdGF0ZSAhPSBuZXdTdGF0ZSkKKyAgICAgICAgcXVldWVUYXNrVG9EaXNwYXRj
aEV2ZW50KCp0aGlzLCBUYXNrU291cmNlOjpQZXJtaXNzaW9uLCBFdmVudDo6Y3JlYXRlKGV2ZW50
TmFtZXMoKS5jaGFuZ2VFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNl
bGFibGU6Ok5vKSk7Cit9CisKK2NvbnN0IGNoYXIqIFBlcm1pc3Npb25TdGF0dXM6OmFjdGl2ZURP
TU9iamVjdE5hbWUoKSBjb25zdAoreworICAgIHJldHVybiAiUGVybWlzc2lvblN0YXR1cyI7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODVjZTQ4ODNh
OTQxODc5NDMzNDhjY2Y4N2JlMGQ0MTM4MTg4MTFkYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5oCkBAIC0wLDAg
KzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkFjdGl2ZURP
TU9iamVjdC5oIgorI2luY2x1ZGUgIkNsaWVudE9yaWdpbi5oIgorI2luY2x1ZGUgIkV2ZW50VGFy
Z2V0LmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkRlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJQZXJt
aXNzaW9uTmFtZS5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25PYnNlcnZlci5oIgorI2luY2x1ZGUg
IlBlcm1pc3Npb25TdGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBlcm1p
c3Npb25Db250cm9sbGVyOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3Mg
UGVybWlzc2lvblN0YXR1cyBmaW5hbCA6IHB1YmxpYyBQZXJtaXNzaW9uT2JzZXJ2ZXIsIHB1Ymxp
YyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBSZWZDb3VudGVkPFBlcm1pc3Npb25TdGF0dXM+LCBw
dWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSAgeworICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoUGVybWlzc2lvblN0YXR1cyk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJtaXNz
aW9uU3RhdHVzPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFBlcm1pc3Npb25TdGF0
ZSwgUGVybWlzc2lvbkRlc2NyaXB0b3IpOworICAgIH5QZXJtaXNzaW9uU3RhdHVzKCk7CisKKyAg
ICBQZXJtaXNzaW9uU3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CisgICAg
UGVybWlzc2lvbk5hbWUgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVzY3JpcHRvci5uYW1lOyB9
CisKKyAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDo6ZGVy
ZWY7CisKKyAgICB1c2luZyBQZXJtaXNzaW9uT2JzZXJ2ZXI6OndlYWtQdHJGYWN0b3J5OworICAg
IHVzaW5nIFdlYWtWYWx1ZVR5cGUgPSBQZXJtaXNzaW9uT2JzZXJ2ZXI6OldlYWtWYWx1ZVR5cGU7
CisKK3ByaXZhdGU6CisgICAgUGVybWlzc2lvblN0YXR1cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgUGVybWlzc2lvblN0YXRlLCBQZXJtaXNzaW9uRGVzY3JpcHRvcik7CisKKyAgICAvLyBQZXJt
aXNzaW9uT2JzZXJ2ZXIKKyAgICB2b2lkIHN0YXRlQ2hhbmdlZChQZXJtaXNzaW9uU3RhdGUpIGZp
bmFsOworICAgIGNvbnN0IENsaWVudE9yaWdpbiYgb3JpZ2luKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gbV9vcmlnaW47IH0KKyAgICBjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRv
cigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZGVzY3JpcHRvcjsgfQorCisgICAgLy8gQWN0aXZl
RE9NT2JqZWN0CisgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZp
bmFsOworCisgICAgLy8gRXZlbnRUYXJnZXQKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gQWN0aXZlRE9NT2Jq
ZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KKyAgICBFdmVudFRhcmdldEludGVyZmFj
ZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFBlcm1pc3Npb25T
dGF0dXNFdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KKyAgICB2b2lkIHJlZkV2ZW50VGFyZ2V0
KCkgZmluYWwgeyByZWYoKTsgfQorICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsg
ZGVyZWYoKTsgfQorCisgICAgUGVybWlzc2lvblN0YXRlIG1fc3RhdGU7CisgICAgUGVybWlzc2lv
bkRlc2NyaXB0b3IgbV9kZXNjcmlwdG9yOworICAgIENsaWVudE9yaWdpbiBtX29yaWdpbjsKKyAg
ICBSZWZQdHI8UGVybWlzc2lvbkNvbnRyb2xsZXI+IG1fY29udHJvbGxlcjsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiNzgxNDJlNjk5ZTIw
ZTZiZTg2Y2M1Y2UyMDU2ZDFkZWI2OTJlZDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCkBAIC0wLDAgKzEs
MzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworIAorLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25z
LyNwZXJtaXNzaW9uc3RhdHVzCisKK1sKKyAgICBBY3RpdmVET01PYmplY3QsCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKQor
XSBpbnRlcmZhY2UgUGVybWlzc2lvblN0YXR1cyA6IEV2ZW50VGFyZ2V0IHsKKyAgICByZWFkb25s
eSBhdHRyaWJ1dGUgUGVybWlzc2lvblN0YXRlIHN0YXRlOworICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBQZXJtaXNzaW9uTmFtZSBuYW1lOworICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jaGFu
Z2U7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYWQzNGM5NGFiMzQ3NzJjN2ViNjY2NzJkYTJjMDg2NmQx
OGI5Mzg4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9ucy5jcHAKQEAgLTAsMCArMSw5NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9ucy5oIgorCisjaW5jbHVkZSAiRXhj
ZXB0aW9uLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZl
cnJlZC5oIgorI2luY2x1ZGUgIkpTUGVybWlzc2lvbkRlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJK
U1Blcm1pc3Npb25TdGF0dXMuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3IuaCIKKyNpbmNsdWRlICJQ
YWdlLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJQZXJt
aXNzaW9uRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFBlcm1p
c3Npb25zKTsKKworUmVmPFBlcm1pc3Npb25zPiBQZXJtaXNzaW9uczo6Y3JlYXRlKE5hdmlnYXRv
ciYgbmF2aWdhdG9yKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBlcm1pc3Npb25zKG5h
dmlnYXRvcikpOworfQorCitQZXJtaXNzaW9uczo6UGVybWlzc2lvbnMoTmF2aWdhdG9yJiBuYXZp
Z2F0b3IpCisgICAgOiBtX25hdmlnYXRvcihtYWtlV2Vha1B0cihuYXZpZ2F0b3IpKQoreworICAg
IGlmIChhdXRvIGNvbnRleHQgPSBuYXZpZ2F0b3Iuc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQor
ICAgICAgICBtX2NvbnRyb2xsZXIgPSBjb250ZXh0LT5wZXJtaXNzaW9uQ29udHJvbGxlcigpOwor
fQorCitOYXZpZ2F0b3IqIFBlcm1pc3Npb25zOjpuYXZpZ2F0b3IoKQoreworICAgIHJldHVybiBt
X25hdmlnYXRvci5nZXQoKTsKK30KKwordm9pZCBQZXJtaXNzaW9uczo6cXVlcnkoSlNDOjpTdHJv
bmc8SlNDOjpKU09iamVjdD4gcGVybWlzc2lvbkRlc2NyaXB0b3JWYWx1ZSwgRE9NUHJvbWlzZURl
ZmVycmVkPElETEludGVyZmFjZTxQZXJtaXNzaW9uU3RhdHVzPj4mJiBwcm9taXNlKQoreworICAg
IC8vIEZJWE1FOiBzdXBwb3J0IHBlcm1pc3Npb25zIGluIFdvcmtlck5hdmlnYXRvci4KKyAgICBp
ZiAoIW1fY29udHJvbGxlcikgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBO
b3RTdXBwb3J0ZWRFcnJvciB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8g
Y29udGV4dCA9IG1fbmF2aWdhdG9yID8gbV9uYXZpZ2F0b3ItPnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSA6IG51bGxwdHI7CisgICAgaWYgKCFjb250ZXh0IHx8ICFjb250ZXh0LT5nbG9iYWxPYmpl
Y3QoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVF
cnJvciwgIlRoZSBjb250ZXh0IGlzIGludmFsaWQiIH0pOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgaWYgKCFwZXJtaXNzaW9uRGVzY3JpcHRvclZhbHVlKSB7CisgICAgICAgIHByb21p
c2UucmVqZWN0KEV4Y2VwdGlvbiB7IERhdGFFcnJvciwgIlRoZSBwYXJhbWV0ZXIgaXMgaW52YWxp
ZCJfcyB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEpTQzo6Vk0mIHZtID0gY29u
dGV4dC0+Z2xvYmFsT2JqZWN0KCktPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOworICAgIGF1dG8gcGFyYW1ldGVyRGVzY3JpcHRvciA9IGNvbnZlcnQ8SURM
RGljdGlvbmFyeTxQZXJtaXNzaW9uRGVzY3JpcHRvcj4+KCpjb250ZXh0LT5nbG9iYWxPYmplY3Qo
KSwgcGVybWlzc2lvbkRlc2NyaXB0b3JWYWx1ZS5nZXQoKSk7CisgICAgaWYgKFVOTElLRUxZKHNj
b3BlLmV4Y2VwdGlvbigpKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBF
eGlzdGluZ0V4Y2VwdGlvbkVycm9yIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
YXV0byogb3JpZ2luID0gY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKTsKKyAgICBhdXRvIG9yaWdp
bkRhdGEgPSBvcmlnaW4gPyBvcmlnaW4tPmRhdGEoKSA6IFNlY3VyaXR5T3JpZ2luRGF0YSB7IH07
CisgICAgYXV0byBwZXJtaXNzaW9uU3RhdGUgPSBtX2NvbnRyb2xsZXItPnF1ZXJ5KENsaWVudE9y
aWdpbiB7IGNvbnRleHQtPnRvcE9yaWdpbigpLmRhdGEoKSwgb3JpZ2luRGF0YSB9LCBQZXJtaXNz
aW9uRGVzY3JpcHRvciB7IHBhcmFtZXRlckRlc2NyaXB0b3IgfSk7CisgICAgcHJvbWlzZS5yZXNv
bHZlKFBlcm1pc3Npb25TdGF0dXM6OmNyZWF0ZSgqY29udGV4dCwgcGVybWlzc2lvblN0YXRlLCBw
YXJhbWV0ZXJEZXNjcmlwdG9yKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YTM4ZmYzNDhmZTQ2OTNmMDIwODQ5OTIxZjVkYTk0NjQyMThmMTAzCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5o
CkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
IklETFR5cGVzLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nLmg+CisjaW5jbHVk
ZSA8d3RmL0lzb01hbGxvYy5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFj
ZSBKU0MgeworY2xhc3MgSlNPYmplY3Q7Cit9IC8vIG5hbWVzcGFjZSBKU0MKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBOYXZpZ2F0b3I7CitjbGFzcyBQZXJtaXNzaW9uQ29udHJvbGxl
cjsKK2NsYXNzIFBlcm1pc3Npb25TdGF0dXM7CisKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+
IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKworY2xhc3MgUGVybWlzc2lvbnMgZmluYWwgOiBw
dWJsaWMgUmVmQ291bnRlZDxQZXJtaXNzaW9ucz4geworICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoUGVybWlzc2lvbnMpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UGVybWlzc2lvbnM+IGNy
ZWF0ZShOYXZpZ2F0b3ImKTsKKworICAgIE5hdmlnYXRvciogbmF2aWdhdG9yKCk7CisgICAgdm9p
ZCBxdWVyeShKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiwgRE9NUHJvbWlzZURlZmVycmVkPElE
TEludGVyZmFjZTxQZXJtaXNzaW9uU3RhdHVzPj4mJik7CisKK3ByaXZhdGU6CisgICAgZXhwbGlj
aXQgUGVybWlzc2lvbnMoTmF2aWdhdG9yJik7CisKKyAgICBXZWFrUHRyPE5hdmlnYXRvcj4gbV9u
YXZpZ2F0b3I7CisgICAgUmVmUHRyPFBlcm1pc3Npb25Db250cm9sbGVyPiBtX2NvbnRyb2xsZXI7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2OGFhNjEyYTUw
N2IzODA1NDBhNjcwYmU2NDVhYjY2ZWY0MzgxZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbApAQCAtMCwwICsxLDM1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNw
ZXJtaXNzaW9ucy1pbnRlcmZhY2UKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lv
bnNBUEksCisgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVGcm9tTmF2aWdhdG9yLAor
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtl
cikKK10gaW50ZXJmYWNlIFBlcm1pc3Npb25zIHsKKyAgICBQcm9taXNlPFBlcm1pc3Npb25TdGF0
dXM+IHF1ZXJ5KG9iamVjdCBwZXJtaXNzaW9uRGVzYyk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA2
ZDU5ZGMzZmQ4Nzg0YWMzNTc2MGFkZGY1ZDkyMDU4ZDI1ODRkMDdiLi44OTEwNTQ5NzMxOWE2YjA0
ZTE4ZmU1MmU0NTFlZDRlZTlhNGYxNTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMjAzLDYgKzIwMyw5
IEBAIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCiBNb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwCiBNb2R1bGVzL3BheW1l
bnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXRpbGl0aWVzLmNwcAogTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9QYXltZW50UmVzcG9uc2UuY3BwCitNb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBl
cm1pc3Npb25zLmNwcAorTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcAor
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGlj
dHVyZS9Eb2N1bWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1
cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1
cmUvSFRNTFZpZGVvRWxlbWVudFBpY3R1cmVJblBpY3R1cmUuY3BwCkBAIC0zMjcyLDYgKzMyNzUs
MTEgQEAgSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAKIEpTUGVyaW9kaWNXYXZlLmNwcAogSlNQZXJp
b2RpY1dhdmVDb25zdHJhaW50cy5jcHAKIEpTUGVyaW9kaWNXYXZlT3B0aW9ucy5jcHAKK0pTUGVy
bWlzc2lvbkRlc2NyaXB0b3IuY3BwCitKU1Blcm1pc3Npb25OYW1lLmNwcAorSlNQZXJtaXNzaW9u
U3RhdGUuY3BwCitKU1Blcm1pc3Npb25TdGF0dXMuY3BwCitKU1Blcm1pc3Npb25zLmNwcAogSlNQ
aWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcAogSlNQbGF5YmFja0RpcmVjdGlvbi5jcHAKIEpTUG9p
bnRlckV2ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IGQwYWEwZThkMmI5YjkxMDczYjk4M2E2OGNmNTlmN2U2NmEyYTUz
NzUuLjM2YWRlZWQ0OWQxMGY4N2E2MTgxZDgzMjgzZWI4NzY0ODQ4YWRkZGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI4ODAs
NiArMjg4MCwxNCBAQAogCQk5M0E4MDYxNzFFMDNCNTFDMDA4QTFGMjYgLyogTG9uZ1JhbmdlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4MDYxMzFF
MDNCNTFDMDA4QTFGMjYgLyogTG9uZ1JhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNBODA2MUUxRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91
YmxlUmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzQTgwNjFBMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJhbmdlLmggKi87IH07CiAJCTkz
QTgwNjIwMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBODA2MUMxRTAzQjU4NTAwOEExRjI2IC8q
IEpTTG9uZ1JhbmdlLmggKi87IH07CisJCTkzQjBBNjUzMjZDREQxNDEwMEFBMjFFNCAvKiBOYXZp
Z2F0b3JQZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTNCMEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25z
LmggKi87IH07CisJCTkzQjBBNjU0MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NEIyNkNE
RDEzRTAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmggKi87IH07CisJCTkzQjBBNjU2MjZDREQxNDEw
MEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY0RDI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lv
blN0YXR1cy5oICovOyB9OworCQk5M0IwQTY1NzI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lv
bkRlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzQjBBNjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjU5
MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NTAyNkNERDE0MDAwQUEyMUU0IC8qIFBl
cm1pc3Npb25OYW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJOTNCMEE2NUIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NTIyNkNE
RDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjcwMjZENEI1MzkwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTNCMEE2NjkyNkQ0NEI3RjAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9s
bGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
OTNCMEE2N0EyNkQ2QTRFOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NkYyNkQ0QjUyOTAw
QUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzQjJEODE2MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRk
ZW5UZXJtaW5hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNCMzhFQzMy
NTgyMURCNDAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IzOEVCQTI1ODIxOTNCMDAxOThF
NjMgLyogV2ViU3BlZWNoUmVjb2duaXplclRhc2suaCAqLzsgfTsKIAkJOTNCMzhFQzQyNTgyMURC
NzAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMzhFQkIyNTgyMTkzRDAwMTk4RTYz
IC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrTW9jay5oICovOyB9OwpAQCAtMTE3MDEsNiArMTE3
MDksMjMgQEAKIAkJOTNBODA2MUExRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEb3VibGVSYW5nZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5M0E4MDYxQjFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25n
UmFuZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNMb25nUmFu
Z2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0E4MDYxQzFFMDNCNTg1MDA4
QTFGMjYgLyogSlNMb25nUmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNMb25nUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDQyNkNE
QzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gUGVybWlzc2lvblN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNC
MEE2NDUyNkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTkzQjBBNjQ2MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFt
ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvbk5hbWUuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0NzI2Q0RDNUI3MDBBQTIxRTQgLyogTmF2aWdh
dG9yK1Blcm1pc3Npb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiTmF2aWdhdG9yK1Bl
cm1pc3Npb25zLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ4MjZD
REM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
UGVybWlzc2lvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0OTI2
Q0RDNUI4MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gUGVybWlzc2lvblN0YXR1cy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTkzQjBBNjRBMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0QjI2Q0REMTNFMDBBQTIxRTQgLyogUGVy
bWlzc2lvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbnMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEMyNkNERDEzRTAwQUEyMUU0
IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0RTI2Q0REMTNGMDBBQTIxRTQgLyogUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2
NEYyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
TmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uTmFtZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MTI2Q0REMTQwMDBBQTIxRTQg
LyogUGVybWlzc2lvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UGVybWlzc2lvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MjI2
Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk5M0IwQTY2OTI2RDQ0QjdGMDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbkNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTNCMEE2NkYyNkQ0QjUyOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN1ZGRlblRlcm1pbmF0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjJEODE3MEY5OTIwRUUwMDZBRTZC
MiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFN1ZGRlblRlcm1pbmF0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5M0IzOEVCODI1ODIxODk5MDAxOThFNjMgLyogU3BlZWNoUmVjb2duaXplckNvY29hLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3BlZWNoUmVjb2duaXpl
ckNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjMxODUsNiArMjMyMTAs
MzAgQEAKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9Owor
CQk5M0IwQTY0MjI2Q0RDNTc0MDBBQTIxRTQgLyogcGVybWlzc2lvbnMgKi8gPSB7CisJCQlpc2Eg
PSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTkzQjBBNjQ3MjZDREM1QjcwMEFBMjFF
NCAvKiBOYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsICovLAorCQkJCTkzQjBBNjRDMjZDREQxM0Uw
MEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAgKi8sCisJCQkJOTNCMEE2NEEyNkNE
RDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi8sCisJCQkJOTNCMEE2Njky
NkQ0NEI3RjAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggKi8sCisJCQkJOTNCMEE2
NEUyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggKi8sCisJCQkJOTNC
MEE2NDUyNkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbCAqLywKKwkJ
CQk5M0IwQTY1MDI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCAqLywKKwkJCQk5
M0IwQTY0NjI2Q0RDNUI3MDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaWRsICovLAorCQkJCTkz
QjBBNjZGMjZENEI1MjkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCAqLywKKwkJCQk5
M0IwQTY1MTI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuY3BwICovLAorCQkJCTkzQjBB
NjRCMjZDREQxM0UwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oICovLAorCQkJCTkzQjBBNjQ4MjZD
REM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5pZGwgKi8sCisJCQkJOTNCMEE2NTIyNkNERDE0
MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oICovLAorCQkJCTkzQjBBNjQ0MjZDREM1QjYw
MEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaWRsICovLAorCQkJCTkzQjBBNjRGMjZDREQxNDAw
MEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmNwcCAqLywKKwkJCQk5M0IwQTY0RDI2Q0REMTNG
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5oICovLAorCQkJCTkzQjBBNjQ5MjZDREM1Qjgw
MEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmlkbCAqLywKKwkJCSk7CisJCQlwYXRoID0gcGVy
bWlzc2lvbnM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk5M0IzOEVCNjI1
ODIxODMzMDAxOThFNjMgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKApAQCAtMjM3OTAsNiArMjM4MzksNyBAQAogCQkJCTcxRDZBQTM5MURBNEVBRjcw
MEIyMzk2OSAvKiBtb2Rlcm4tbWVkaWEtY29udHJvbHMgKi8sCiAJCQkJMzMzRjcwM0QwRkI0OUMx
NjAwOEUxMkE2IC8qIG5vdGlmaWNhdGlvbnMgKi8sCiAJCQkJQTFGNzZCMEUxRjQ0QzBDRjAwMTRD
MzE4IC8qIHBheW1lbnRyZXF1ZXN0ICovLAorCQkJCTkzQjBBNjQyMjZDREM1NzQwMEFBMjFFNCAv
KiBwZXJtaXNzaW9ucyAqLywKIAkJCQkxREVGMDZBMjIzM0MzMkRCMDBFRTIyOEQgLyogcGljdHVy
ZWlucGljdHVyZSAqLywKIAkJCQkwNzJBRTFERTE4M0MwNTEzMDAwQTU5ODggLyogcGx1Z2lucyAq
LywKIAkJCQlDREMzMTJFMDIyRkNEMEIwMDAxMjA0RUMgLyogcmVtb3RlcGxheWJhY2sgKi8sCkBA
IC0zMzc1Nyw2ICszMzgwNyw3IEBACiAJCQkJNkI1MDdBMjQyMzRCRjM0MTAwQkU3QzYyIC8qIE5h
dmlnYXRvcklzTG9nZ2VkSW4uaCBpbiBIZWFkZXJzICovLAogCQkJCTVFQTcyNUQ2MUFDQUJENTcw
MEVBRDE3QiAvKiBOYXZpZ2F0b3JNZWRpYURldmljZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3
N0JBNTcyMjYwRkEwMTQwMDcyRjE5RiAvKiBOYXZpZ2F0b3JNZWRpYVNlc3Npb24uaCBpbiBIZWFk
ZXJzICovLAorCQkJCTkzQjBBNjUzMjZDREQxNDEwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNz
aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTk2RTU5REYxREYwMTI4RDAwNjYxMkI5IC8qIE5h
dmlnYXRvcldlYkRyaXZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCNzgyNDEzMTkxRjAw
RTc5NEQ2IC8qIE5hdmlnYXRvcldlYlhSLmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTMwOUM5RjEy
Mzk1MEJFMDBDQjkyMDQgLyogTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCBpbiBIZWFkZXJzICov
LApAQCAtMzM5NTYsNiArMzQwMDcsMTMgQEAKIAkJCQlGRDU4MUZCNTE1MjBGOTNCMDAzQTdBNzUg
LyogUGVyaW9kaWNXYXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNzU1RTg5MjI0Qzc0MzRCMDA5
RjdDMjMgLyogUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUU3
NTVFODk5MjRDNzQ2MUQwMDlGN0MyMyAvKiBQZXJpb2RpY1dhdmVPcHRpb25zLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk5M0IwQTY3MDI2RDRCNTM5MDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xs
ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjU3MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJt
aXNzaW9uRGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTkyNkNERDE0MTAw
QUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY3QTI2
RDZBNEU5MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk5M0IwQTY1NDI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTkzQjBBNjVCMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTkzQjBBNjU2MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3Rh
dHVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUQ1REMyRTBGNDIzQTczMDA4RjIwRkQgLyogUGVy
c3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTFEQkMxQjU2
MjM0N0IzRDIwMEI5MDFBRiAvKiBQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFEMkM4MkI3MjM2QTNGNkEwMDU1RDZDNSAvKiBQaWN0dXJlSW5QaWN0dXJlU3Vw
cG9ydC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
ZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggZjE4MWM3OTZkNjUwY2M4NmZlM2YwOGE3MjAwN2E2
ZWRjMmVmYmM3OC4uODUxYTIxNGM5YTQ4N2ZmNjhkMTZiZTdkZDhmYmI1MjA4ODdlYjkxZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApA
QCAtMTU0LDYgKzE1NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhNb2NrUlRD
UnRwVHJhbnNmb3JtKSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yQ3JlZGVudGlhbHMpIFwKICAgICBt
YWNybyhOYXZpZ2F0b3JNZWRpYURldmljZXMpIFwKKyAgICBtYWNybyhOYXZpZ2F0b3JQZXJtaXNz
aW9ucykgXAogICAgIG1hY3JvKE5hdmlnYXRvclVzZXJNZWRpYSkgXAogICAgIG1hY3JvKE9mZmxp
bmVBdWRpb0NvbnRleHQpIFwKICAgICBtYWNybyhPZmZzY3JlZW5DYW52YXMpIFwKQEAgLTE4Miw2
ICsxODMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWlu
dFRpbWluZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBt
YWNybyhQZXJmb3JtYW5jZVNlcnZlclRpbWluZykgXAorICAgIG1hY3JvKFBlcm1pc3Npb25EZXNj
cmlwdG9yKSBcCisgICAgbWFjcm8oUGVybWlzc2lvblN0YXR1cykgXAorICAgIG1hY3JvKFBlcm1p
c3Npb25zKSBcCiAgICAgbWFjcm8oUG9pbnRlckV2ZW50KSBcCiAgICAgbWFjcm8oUHVibGljS2V5
Q3JlZGVudGlhbCkgXAogICAgIG1hY3JvKFJlc2l6ZU9ic2VydmVyKSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAppbmRleCA2NWNmYmY4Yjc5NWQ2M2QzYzk5OWQwMWQ5YjM4NGIyMDUwMDlkNDY0Li40
NTQxNTZhYzllZmE3NTIyMjVjY2IxYTljNGRmMzZkMWI3NWQzOThiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKQEAgLTM1NTQsNiArMzU1NCwxMSBAQCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Q
cm94eSogRG9jdW1lbnQ6OmlkYkNvbm5lY3Rpb25Qcm94eSgpCiAgICAgcmV0dXJuIG1faWRiQ29u
bmVjdGlvblByb3h5LmdldCgpOwogfQogCitSZWZQdHI8UGVybWlzc2lvbkNvbnRyb2xsZXI+IERv
Y3VtZW50OjpwZXJtaXNzaW9uQ29udHJvbGxlcigpCit7CisgICAgcmV0dXJuIHBhZ2UoKSA/ICZw
YWdlKCktPnBlcm1pc3Npb25Db250cm9sbGVyKCkgOiBudWxscHRyOworfQorCiBTb2NrZXRQcm92
aWRlciogRG9jdW1lbnQ6OnNvY2tldFByb3ZpZGVyKCkKIHsKICAgICByZXR1cm4gbV9zb2NrZXRQ
cm92aWRlci5nZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNGMyOTVkNDU4ZjFhZTA2MTc5
YTU0NmI5NGRiMzgwNzcyNjU0YzFjNS4uM2Q0NjViM2M0OGIyMTIyOGU2ZGFhMThhNzkyZDJkMzM0
ZjhlMTkwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTcwMSw2ICs3MDEsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBkaXNhYmxlV2ViQXNzZW1ibHkoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2Up
IGZpbmFsOwogCiAgICAgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGlkYkNvbm5lY3Rp
b25Qcm94eSgpIGZpbmFsOworICAgIFJlZlB0cjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gcGVybWlz
c2lvbkNvbnRyb2xsZXIoKSBmaW5hbDsKICAgICBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlk
ZXIoKSBmaW5hbDsKICAgICBSZWZQdHI8UlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyQ29ubmVj
dGlvbj4gY3JlYXRlUlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbigpIGZpbmFs
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5Lmlu
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCA1ZTU4ZjEx
MTY2N2VmNjIxMGQ1MzExMGQ3YjU0YTgwMmM4NDM5NWQ4Li4wMTNjZWQwOTQ2ZmZjZDUyNTlmYTI1
MGIxNjAzYTE4ZTQ1OWU0NTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXRGYWN0b3J5LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rv
cnkuaW4KQEAgLTM1LDYgKzM1LDcgQEAgT2Zmc2NyZWVuQ2FudmFzIGNvbmRpdGlvbmFsPU9GRlND
UkVFTl9DQU5WQVMKIFBheW1lbnRSZXF1ZXN0IGNvbmRpdGlvbmFsPVBBWU1FTlRfUkVRVUVTVAog
UGF5bWVudFJlc3BvbnNlIGNvbmRpdGlvbmFsPVBBWU1FTlRfUkVRVUVTVAogUGVyZm9ybWFuY2UK
K1Blcm1pc3Npb25TdGF0dXMKIFBpY3R1cmVJblBpY3R1cmVXaW5kb3cgY29uZGl0aW9uYWw9UElD
VFVSRV9JTl9QSUNUVVJFX0FQSQogUmVtb3RlUGxheWJhY2sgY29uZGl0aW9uYWw9V0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUCiBSVENEYXRhQ2hhbm5lbCBjb25kaXRpb25hbD1XRUJfUlRDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBkNGJiOGUxOWFl
NzhmN2U4MWE2Y2I2MWZiNmU1NTIzYzEwNGM0ZGRlLi4xZWNiYzEzNzliOWE1YTY4NzY4NTYyZGU4
MDZhNjNiNmQ1ZmMwMWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25D
b250ZXh0LmgKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5o
IgogI2luY2x1ZGUgIkRPTVRpbWVyLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIu
aCIKICNpbmNsdWRlICJSVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uLmgiCiAj
aW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0
aW9uQ29udGV4dElkZW50aWZpZXIuaCIKQEAgLTExNSw2ICsxMTYsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIGRpc2FibGVXZWJBc3NlbWJseShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2Fn
ZSkgPSAwOwogCiAgICAgdmlydHVhbCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogaWRi
Q29ubmVjdGlvblByb3h5KCkgPSAwOworICAgIHZpcnR1YWwgUmVmUHRyPFBlcm1pc3Npb25Db250
cm9sbGVyPiBwZXJtaXNzaW9uQ29udHJvbGxlcigpIHsgcmV0dXJuIG51bGxwdHI7IH0KIAogICAg
IHZpcnR1YWwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKCkgPSAwOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGFza1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L1Rhc2tTb3VyY2UuaAppbmRleCA3MTMzZjY3OGVhMmQ5OTI2OTUxNjAyMDg2NGVmMTNkNGYzZWZk
Mzk4Li4yZGE0N2JhZDZjNzNhNmJhNWJmMjgzYjhkMzUyZjQwZDIxYWYwMTRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vVGFza1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9UYXNrU291cmNlLmgKQEAgLTM5LDYgKzM5LDcgQEAgZW51bSBjbGFzcyBUYXNrU291cmNlIDog
dWludDhfdCB7CiAgICAgTWljcm90YXNrLAogICAgIE5ldHdvcmtpbmcsCiAgICAgUGVyZm9ybWFu
Y2VUaW1lbGluZSwKKyAgICBQZXJtaXNzaW9uLAogICAgIFBvc3RlZE1lc3NhZ2VRdWV1ZSwKICAg
ICBTcGVlY2gsCiAgICAgVXNlckludGVyYWN0aW9uLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmNwcAppbmRleCA5NjRlMmRkMTIwNzAzMzFhNjVjYTM0MWFjNzBlNGIyODc0MjAwYTBk
Li41NWNjNDZlMjU5MTg0NjlmMzFkNTZjMDQ5NmU0M2RkNTVlY2ZkNWQxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtNjMsNiArNjMsNyBAQAogI2luY2x1ZGUgIlBh
Z2UuaCIKICNpbmNsdWRlICJQYWdlQ29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIlBheW1lbnRD
b29yZGluYXRvckNsaWVudC5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiUGx1Z2luSW5mb1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2Vy
Q2xpZW50LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW5EYXRhLmgiCkBAIC0xMTkzLDcgKzEx
OTQsOCBAQCBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVu
dHMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQogICAgICAgICBtYWtlVW5pcXVlUmVmPEVtcHR5
RnJhbWVMb2FkZXJDbGllbnQ+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8RHVtbXlTcGVlY2hS
ZWNvZ25pdGlvblByb3ZpZGVyPigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPEVtcHR5TWVkaWFS
ZWNvcmRlclByb3ZpZGVyPigpLAotICAgICAgICBFbXB0eUJyb2FkY2FzdENoYW5uZWxSZWdpc3Ry
eTo6Y3JlYXRlKCkKKyAgICAgICAgRW1wdHlCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmNyZWF0
ZSgpLAorICAgICAgICBtYWtlVW5pcXVlUmVmPER1bW15UGVybWlzc2lvbkNvbnRyb2xsZXI+KCkK
ICAgICB9OwogCiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEVtcHR5Q2hyb21lQ2xpZW50PiBk
dW1teUNocm9tZUNsaWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGVlZTY4Yjc3ZTFlNWZjZTFl
NTljMzI5NDM0YTlhODYwMGIzNjk3MTAuLjg2MTA3OGJhMGJmNjE4M2I3NzExNDVhNzRiNDFiZTA3
ZDdiMDU2MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtOTksNiArOTksNyBAQAogI2luY2x1ZGUg
IlBlcmZvcm1hbmNlTG9nZ2luZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVu
dC5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTW9uaXRvci5oIgorI2luY2x1ZGUgIlBlcm1pc3Np
b25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgi
CiAjaW5jbHVkZSAiUGxhdGZvcm1TY3JlZW4uaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdp
ZXMuaCIKQEAgLTMyNSw2ICszMjYsNyBAQCBQYWdlOjpQYWdlKFBhZ2VDb25maWd1cmF0aW9uJiYg
cGFnZUNvbmZpZ3VyYXRpb24pCiAgICAgLCBtX2xvYWRzU3VicmVzb3VyY2VzKHBhZ2VDb25maWd1
cmF0aW9uLmxvYWRzU3VicmVzb3VyY2VzKQogICAgICwgbV9zaG91bGRSZWxheFRoaXJkUGFydHlD
b29raWVCbG9ja2luZyhwYWdlQ29uZmlndXJhdGlvbi5zaG91bGRSZWxheFRoaXJkUGFydHlDb29r
aWVCbG9ja2luZykKICAgICAsIG1faHR0cHNVcGdyYWRlRW5hYmxlZChwYWdlQ29uZmlndXJhdGlv
bi5odHRwc1VwZ3JhZGVFbmFibGVkKQorICAgICwgbV9wZXJtaXNzaW9uQ29udHJvbGxlcihXVEZN
b3ZlKHBhZ2VDb25maWd1cmF0aW9uLnBlcm1pc3Npb25Db250cm9sbGVyKSkKIHsKICAgICB1cGRh
dGVUaW1lclRocm90dGxpbmdTdGF0ZSgpOwogCkBAIC0zNjkzLDQgKzM2OTUsOSBAQCB2b2lkIFBh
Z2U6OnJlc2V0VGV4dFJlY29nbml0aW9uUmVzdWx0cygpCiAKICNlbmRpZiAvLyBFTkFCTEUoSU1B
R0VfQU5BTFlTSVMpCiAKK1Blcm1pc3Npb25Db250cm9sbGVyJiBQYWdlOjpwZXJtaXNzaW9uQ29u
dHJvbGxlcigpCit7CisgICAgcmV0dXJuIG1fcGVybWlzc2lvbkNvbnRyb2xsZXIuZ2V0KCk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggOTI1NWJmMzEzYzY3
ZDcxNDgxNWNmNzgxNTI2NmZmZDgwNWIyMmY2MC4uM2IxZTI2OTA1NTZkZDRmM2QxN2E4ZWI4NWYy
NGQwMDQwODg3NDM3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTEzMSw2ICsxMzEsNyBAQCBjbGFzcyBQ
YXltZW50Q29vcmRpbmF0b3I7CiBjbGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmc7CiBjbGFzcyBQZXJm
b3JtYW5jZUxvZ2dpbmdDbGllbnQ7CiBjbGFzcyBQZXJmb3JtYW5jZU1vbml0b3I7CitjbGFzcyBQ
ZXJtaXNzaW9uQ29udHJvbGxlcjsKIGNsYXNzIFBsdWdpbkRhdGE7CiBjbGFzcyBQbHVnaW5JbmZv
UHJvdmlkZXI7CiBjbGFzcyBQbHVnaW5WaWV3QmFzZTsKQEAgLTg3Miw2ICs4NzMsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBjYWNoZVRleHRSZWNvZ25pdGlvblJlc3VsdChjb25zdCBIVE1MRWxlbWVu
dCYsIGNvbnN0IEludFJlY3QmIGNvbnRhaW5lclJlY3QsIGNvbnN0IFRleHRSZWNvZ25pdGlvblJl
c3VsdCYpOwogI2VuZGlmCiAKKyAgICBXRUJDT1JFX0VYUE9SVCBQZXJtaXNzaW9uQ29udHJvbGxl
ciYgcGVybWlzc2lvbkNvbnRyb2xsZXIoKTsKKwogcHJpdmF0ZToKICAgICBzdHJ1Y3QgTmF2aWdh
dGlvbiB7CiAgICAgICAgIFJlZ2lzdHJhYmxlRG9tYWluIGRvbWFpbjsKQEAgLTExOTQsNiArMTE5
Nyw4IEBAIHByaXZhdGU6CiAgICAgY29uc3QgYm9vbCBtX2h0dHBzVXBncmFkZUVuYWJsZWQgeyB0
cnVlIH07CiAgICAgbXV0YWJsZSBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIgbV9tZWRpYVNl
c3Npb25Hcm91cElkZW50aWZpZXI7CiAKKyAgICBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xs
ZXI+IG1fcGVybWlzc2lvbkNvbnRyb2xsZXI7CisKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMp
CiAgICAgLy8gRklYTUU6IFRoZXNlIHNob3VsZCBiZSByZWZhY3RvcmVkIHRvIHVzZSBhIHdlYWsg
aGFzaCBtYXAgb2YgSFRNTEVsZW1lbnQgdG8gc3RkOjpwYWlyPFRleHRSZWNvZ25pdGlvblJlc3Vs
dCwgSW50U2l6ZT4uCiAgICAgVmVjdG9yPHN0ZDo6cGFpcjxXZWFrUHRyPEhUTUxFbGVtZW50Piwg
c3RkOjpwYWlyPFRleHRSZWNvZ25pdGlvblJlc3VsdCwgSW50UmVjdD4+PiBtX3RleHRSZWNvZ25p
dGlvblJlc3VsdHNCeUVsZW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uY3BwCmluZGV4IDY3NWUzNjljYzFlMmMyYjc3ZDk5ZmRkMDkxMzRiMTk4ZjBjZjNhZjMuLmNi
NTYwZmQ0MTRhMjNhNzZiMmNjN2I2MGVhNTAyOTk5YTk4MWNjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCkBAIC01OSw3ICs1OSw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotUGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGll
bnQsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldl
YlJUQ1Byb3ZpZGVyPiYmIGxpYldlYlJUQ1Byb3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlk
ZXI+JiYgY2FjaGVTdG9yYWdlUHJvdmlkZXIsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmIHVz
ZXJDb250ZW50UHJvdmlkZXIsIFJlZjxCYWNrRm9yd2FyZENsaWVudD4mJiBiYWNrRm9yd2FyZENs
aWVudCwgUmVmPENvb2tpZUphcj4mJiBjb29raWVKYXIsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNr
ZXJDbGllbnQ+JiYgcHJvZ3Jlc3NUcmFja2VyQ2xpZW50LCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJD
bGllbnQ+JiYgbG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1lLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2du
aXRpb25Qcm92aWRlcj4mJiBzcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyLCBVbmlxdWVSZWY8TWVk
aWFSZWNvcmRlclByb3ZpZGVyPiYmIG1lZGlhUmVjb3JkZXJQcm92aWRlciwgUmVmPEJyb2FkY2Fz
dENoYW5uZWxSZWdpc3RyeT4mJiBicm9hZGNhc3RDaGFubmVsUmVnaXN0cnkpCitQYWdlQ29uZmln
dXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVbmlx
dWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRvckNsaWVudCwgUmVmPFNvY2tldFByb3ZpZGVyPiYm
IHNvY2tldFByb3ZpZGVyLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYgbGliV2ViUlRD
UHJvdmlkZXIsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4mJiBjYWNoZVN0b3JhZ2VQcm92aWRl
ciwgUmVmPFVzZXJDb250ZW50UHJvdmlkZXI+JiYgdXNlckNvbnRlbnRQcm92aWRlciwgUmVmPEJh
Y2tGb3J3YXJkQ2xpZW50PiYmIGJhY2tGb3J3YXJkQ2xpZW50LCBSZWY8Q29va2llSmFyPiYmIGNv
b2tpZUphciwgVW5pcXVlUmVmPFByb2dyZXNzVHJhY2tlckNsaWVudD4mJiBwcm9ncmVzc1RyYWNr
ZXJDbGllbnQsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNsaWVudD4mJiBsb2FkZXJDbGllbnRGb3JN
YWluRnJhbWUsIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmIHNwZWVjaFJl
Y29nbml0aW9uUHJvdmlkZXIsIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYgbWVk
aWFSZWNvcmRlclByb3ZpZGVyLCBSZWY8QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmIGJyb2Fk
Y2FzdENoYW5uZWxSZWdpc3RyeSwgVW5pcXVlUmVmPFBlcm1pc3Npb25Db250cm9sbGVyPiYmIHBl
cm1pc3Npb25Db250cm9sbGVyKQogICAgIDogc2Vzc2lvbklEKHNlc3Npb25JRCkKICAgICAsIGVk
aXRvckNsaWVudChXVEZNb3ZlKGVkaXRvckNsaWVudCkpCiAgICAgLCBzb2NrZXRQcm92aWRlcihX
VEZNb3ZlKHNvY2tldFByb3ZpZGVyKSkKQEAgLTczLDYgKzczLDcgQEAgUGFnZUNvbmZpZ3VyYXRp
b246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgVW5pcXVlUmVm
PEVkaXRvckMKICAgICAsIGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeShXVEZNb3ZlKGJyb2FkY2Fz
dENoYW5uZWxSZWdpc3RyeSkpCiAgICAgLCBzcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyKFdURk1v
dmUoc3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcikpCiAgICAgLCBtZWRpYVJlY29yZGVyUHJvdmlk
ZXIoV1RGTW92ZShtZWRpYVJlY29yZGVyUHJvdmlkZXIpKQorICAgICwgcGVybWlzc2lvbkNvbnRy
b2xsZXIoV1RGTW92ZShwZXJtaXNzaW9uQ29udHJvbGxlcikpCiB7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAppbmRleCAwZjI1OWQ1NmQzYTE0MmExNGUwZWM4NTE0
ZTBmZDViMmZkMjkzMGE1Li5kNzViNzEwNGMzNTAzOTFmNThhOTY4ZmFlMmU2ZTAzNTQ2MTE2YWNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCkBAIC01OSw2ICs1OSw3
IEBAIGNsYXNzIExpYldlYlJUQ1Byb3ZpZGVyOwogY2xhc3MgTWVkaWFSZWNvcmRlclByb3ZpZGVy
OwogY2xhc3MgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50OwogY2xhc3MgUGVyZm9ybWFuY2VMb2dn
aW5nQ2xpZW50OworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXI7CiBjbGFzcyBQbHVnaW5JbmZv
UHJvdmlkZXI7CiBjbGFzcyBQcm9ncmVzc1RyYWNrZXJDbGllbnQ7CiBjbGFzcyBTb2NrZXRQcm92
aWRlcjsKQEAgLTc0LDcgKzc1LDcgQEAgY2xhc3MgU3BlZWNoU3ludGhlc2lzQ2xpZW50OwogY2xh
c3MgUGFnZUNvbmZpZ3VyYXRpb24gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDb25m
aWd1cmF0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV0VCQ09S
RV9FWFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpTZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0
b3JDbGllbnQ+JiYsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1By
b3ZpZGVyPiYmLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYsIFJlZjxVc2VyQ29udGVudFBy
b3ZpZGVyPiYmLCBSZWY8QmFja0ZvcndhcmRDbGllbnQ+JiYsIFJlZjxDb29raWVKYXI+JiYsIFVu
aXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNs
aWVudD4mJiwgVW5pcXVlUmVmPFNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+JiYsIFVuaXF1ZVJl
ZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYsIFJlZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+
JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIFBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklE
LCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmLCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1
ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmLCBS
ZWY8VXNlckNvbnRlbnRQcm92aWRlcj4mJiwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmLCBSZWY8
Q29va2llSmFyPiYmLCBVbmlxdWVSZWY8UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmLCBVbmlxdWVS
ZWY8RnJhbWVMb2FkZXJDbGllbnQ+JiYsIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3Zp
ZGVyPiYmLCBVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPiYmLCBSZWY8QnJvYWRjYXN0
Q2hhbm5lbFJlZ2lzdHJ5PiYmLCBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+JiYpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIH5QYWdlQ29uZmlndXJhdGlvbigpOwogICAgIFBhZ2VDb25maWd1
cmF0aW9uKFBhZ2VDb25maWd1cmF0aW9uJiYpOwogCkBAIC0xMzgsNiArMTM5LDggQEAgcHVibGlj
OgogICAgIGJvb2wgdXNlclNjcmlwdHNTaG91bGRXYWl0VW50aWxOb3RpZmljYXRpb24geyB0cnVl
IH07CiAgICAgU2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcgc2hvdWxkUmVsYXhU
aGlyZFBhcnR5Q29va2llQmxvY2tpbmcgeyBTaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9j
a2luZzo6Tm8gfTsKICAgICBib29sIGh0dHBzVXBncmFkZUVuYWJsZWQgeyB0cnVlIH07CisKKyAg
ICBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+IHBlcm1pc3Npb25Db250cm9sbGVyOwog
fTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9X
ZWJLaXQvU291cmNlcy50eHQKaW5kZXggNjZhZWRhNDNjODJkOGJmYjMzNWJiZmVmNjA5NWQwNGVm
YWRiODYyMC4uYTc0NWQ3MjAxNWNmYzE5NWZiOTZmMmNjNTU4NThhODMxYjc1MGVhOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXMudHh0CkBAIC02OTQsNiArNjk0LDcgQEAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJN
ZWRpYUtleVN5c3RlbUNsaWVudC5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTWVz
c2FnZVBvcnRDaGFubmVsUHJvdmlkZXIuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
Yk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVy
Zm9ybWFuY2VMb2dnaW5nQ2xpZW50LmNwcAorV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
ZXJtaXNzaW9uQ29udHJvbGxlci5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxh
dGZvcm1TdHJhdGVnaWVzLmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1l
bnUuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlByb2dyZXNzVHJhY2tlckNsaWVu
dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDVmYjMw
ODk1MDE1NjI0ODY2NjE1M2M2MjRmNDAzNGVhNGE4ODRmZGYuLjlhODI5NmI5OGQ1YmIwZGI2M2E3
ODBmMTViZjM0MjMzZTdlNDNjMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcApAQCAtMTcyLDYgKzE3Miw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9NSU1FVHlwZVJl
Z2lzdHJ5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVN0cmVhbVJlcXVlc3QuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1BlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvUGVybWlzc2lvblN0YXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUV2ZW50Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUHVibGljU3VmZml4Lmg+CkBAIC04NDkzLDYgKzg0OTQsMTIgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OnJldm9rZUdlb2xvY2F0aW9uQXV0aG9yaXphdGlvblRva2VuKGNvbnN0IFN0cmlu
ZyYgYXV0aG9yaXphdGkKICAgICBtX2dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
LnJldm9rZUF1dGhvcml6YXRpb25Ub2tlbihhdXRob3JpemF0aW9uVG9rZW4pOwogfQogCit2b2lk
IFdlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24oY29uc3QgV2ViQ29yZTo6Q2xpZW50T3Jp
Z2luJiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRsZXIp
Cit7CisgICAgLy8gRklYTUU6IFNob3cgYSBwcm9tcHQgZm9yIHVzZXIgaW5wdXQuCisgICAgY29t
cGxldGlvbkhhbmRsZXIoUGVybWlzc2lvblN0YXRlOjpHcmFudGVkKTsKK30KKwogI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSYg
V2ViUGFnZVByb3h5Ojp1c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBlYTFjMjJmYjZiMTFiZTk2ODk5
MjgyNjRkM2JmM2ZjODQ3MTA5YjhkLi40NjFhYWNiODg4NmE1MjMxY2NhYWZmMDc0ZjJhMWE1NGMw
MTc3ZDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjk0LDYg
KzI5NCw3IEBAIHN0cnVjdCBMaW5rSWNvbjsKIHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3Q7CiBz
dHJ1Y3QgTWVkaWFVc2FnZUluZm87CiBzdHJ1Y3QgTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmln
dXJhdGlvbjsKK3N0cnVjdCBQZXJtaXNzaW9uRGVzY3JpcHRvcjsKIHN0cnVjdCBQcmV3YXJtSW5m
b3JtYXRpb247CiBzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5EYXRhOwogc3RydWN0IFNoYXJlRGF0YTsK
QEAgLTIxMTcsNiArMjExOCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHJlcXVlc3RHZW9sb2Nh
dGlvblBlcm1pc3Npb25Gb3JGcmFtZShHZW9sb2NhdGlvbklkZW50aWZpZXIsIEZyYW1lSW5mb0Rh
dGEmJik7CiAgICAgdm9pZCByZXZva2VHZW9sb2NhdGlvbkF1dGhvcml6YXRpb25Ub2tlbihjb25z
dCBTdHJpbmcmIGF1dGhvcml6YXRpb25Ub2tlbik7CisgICAgdm9pZCByZXF1ZXN0UGVybWlzc2lv
bihjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9u
RGVzY3JpcHRvciYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0
YXRlKT4mJik7CiAKICNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKICAgICB2b2lk
IHNlbmRNZXNzYWdlVG9XZWJWaWV3KFVzZXJNZXNzYWdlJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGJjMzdiOGZjNmFkZjNl
YWQxODcyZDExNTVmZjBjYmQwMDlkYzBhZjkuLjA3ZTBmNTQ4MDM0Njk3MDNhNmY3MzdkOTkzMDdi
MWVjNzM1MGNkMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4KQEAgLTYwMiw0ICs2MDIsNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJv
eHkgewogI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIE1vZGVsRWxlbWVu
dERpZENyZWF0ZVByZXZpZXcoc3RydWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0IGVsZW1lbnRD
b250ZXh0LCBVUkwgdXJsLCBTdHJpbmcgdXVpZCwgV2ViQ29yZTo6RmxvYXRTaXplIHNpemUpCiAj
ZW5kaWYKKworICAgIHJlcXVlc3RQZXJtaXNzaW9uKHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmln
aW4gb3JpZ2luLCBzdHJ1Y3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRv
cikgLT4gKGVudW06dWludDhfdCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpIEFzeW5j
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBmZTNkMzJiMzI5NWMyYzQ0ZmQ0NDQ0Y2RkN2YxNDFmMjQwMDRjYTAyLi5mYjY4YTNiZDE2
ZDI3MzgyY2QzM2M5M2IxMGJlYmUyOTNiMzNhNTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0OTYsNiArMTQ5Niw3IEBACiAJCTkz
QUI5QjRFMjU3NTY3RTIwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1l
TWVkaWFTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzQUI5QjQyMjU3NDkyOEMwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJl
YWx0aW1lTWVkaWFTb3VyY2UuaCAqLzsgfTsKIAkJOTNBQjlCNTUyNTc1QTI3NjAwOThCMTBFIC8q
IFNwZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNB
QjlCNEYyNTc1ODkxMTAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNv
dXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk5M0FCOUI1NjI1NzVBMjhC
MDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFu
YWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5M0FCOUI1MTI1NzU4OTExMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRp
b25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87
IH07CisJCTkzQjBBNjc1MjZENUFEQ0YwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2
NzQyNkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggKi87IH07CiAJ
CTkzQjI2MTREMjI3RDE0OUUwMEI5N0E3NiAvKiBTdG9yYWdlTWFuYWdlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMjYxNDkyMjdEMTQ3MjAwQjk3
QTc2IC8qIFN0b3JhZ2VNYW5hZ2VyLmggKi87IH07CiAJCTkzQjI2MTRFMjI3RDE0QjEwMEI5N0E3
NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTNCMjYxNDUyMjdEMTQ3MDAwQjk3QTc2IC8qIExvY2FsU3RvcmFn
ZURhdGFiYXNlLmggKi87IH07CiAJCTkzQjI2MTRGMjI3RDE0QjEwMEI5N0E3NiAvKiBMb2NhbFN0
b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzQjI2MTQ2MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRh
YmFzZVRyYWNrZXIuaCAqLzsgfTsKQEAgLTQ5MTQsNiArNDkxNSwxMCBAQAogCQk5M0FCOUI1MjI1
NzU4OTEyMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291
cmNlTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVz
c2FnZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQUI5QjUzMjU3
NTg5MTIwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3Vy
Y2VNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3Bl
ZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQUI5QjU0MjU3NTg5MTIwMDk4QjEwRSAv
KiBTcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3BlZWNoUmVjb2duaXRpb25SZWFsdGlt
ZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTkzQjBBNjZEMjZENDUxNTAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJtaXNzaW9uTWFuYWdlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjZFMjZENDUxNTAwMEFBMjFFNCAv
KiBQZXJtaXNzaW9uTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
ZXJtaXNzaW9uTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY3
MzI2RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY3NDI2RDVBNzJFMDBBQTIxRTQg
LyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOTNCMjYxNDUyMjdEMTQ3MDAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvY2FsU3RvcmFnZURhdGFiYXNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjI2MTQ2MjI3RDE0NzEwMEI5N0E3NiAv
KiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkzQjI2MTQ3MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRh
YmFzZVRyYWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9j
YWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTk2MjMsNiArOTYyOCwxNSBAQAogCQkJcGF0aCA9IFNwZWVjaDsKIAkJCXNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7CiAJCX07CisJCTkzQjBBNjZDMjZENDUxMUYwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk5M0Iw
QTY2RDI2RDQ1MTUwMDBBQTIxRTQgLyogUGVybWlzc2lvbk1hbmFnZXIuY3BwICovLAorCQkJCTkz
QjBBNjZFMjZENDUxNTAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5oICovLAorCQkJKTsK
KwkJCXBhdGggPSBQZXJtaXNzaW9uOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsK
IAkJOTNCMjYxNDMyMjdEMTQzMTAwQjk3QTc2IC8qIFdlYlN0b3JhZ2UgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtOTg2Myw2ICs5ODc3LDcgQEAKIAkJCQk0
QTQxMEY0MTE5QUY3QjI3MDAyRUJBQjUgLyogTWVkaWFTdHJlYW0gKi8sCiAJCQkJNTEwNUIwRDIx
NjJGN0E1RTAwRTI3NzA5IC8qIE5ldHdvcmsgKi8sCiAJCQkJMzEwOTk5NzQxNDZDOEFBODAwMjlE
RUI5IC8qIE5vdGlmaWNhdGlvbnMgKFVzZXIpICovLAorCQkJCTkzQjBBNjZDMjZENDUxMUYwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uICovLAogCQkJCTFBNkZCN0FBMTFFNjRCNDkwMERCMTM3MSAvKiBQ
bHVnaW5zICovLAogCQkJCTkzQUI5QjQ4MjU3NEM1Q0UwMDk4QjEwRSAvKiBTcGVlY2ggKi8sCiAJ
CQkJNTExOEU5OTgxRjI5NTI1OTAwM0VGOUY1IC8qIFN0b3JhZ2UgKi8sCkBAIC05OTMzLDYgKzk5
NDgsOCBAQAogCQkJCTUxMjEyN0MyMTkwODIzOUEwMERBRjM1QyAvKiBXZWJQYXN0ZWJvYXJkT3Zl
cnJpZGVzLmggKi8sCiAJCQkJMEY4NTBGRTQxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1h
bmNlTG9nZ2luZ0NsaWVudC5jcHAgKi8sCiAJCQkJMEY4NTBGRTUxRUQ3QzM5RjAwRkI3N0E3IC8q
IFdlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oICovLAorCQkJCTkzQjBBNjczMjZENUE3MkUw
MEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAgKi8sCisJCQkJOTNCMEE2NzQy
NkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggKi8sCiAJCQkJMUEz
RTczNjAxMUNDMjY1OTAwN0JENTM5IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgKi8sCiAJ
CQkJMUEzRTczNUYxMUNDMjY1OTAwN0JENTM5IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5oICov
LAogCQkJCUQzQjk0ODQyMTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuY3BwICovLApA
QCAtMTI2NjIsNiArMTI2NzksNyBAQAogCQkJCUExNzk4QjRDMjIyRjFCRDQwMDA3NjRCRCAvKiBX
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUIx
Rjc5OTFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNzYWdl
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY4NTBGRTcxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBl
cmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NzUyNkQ1
QURDRjAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQTNFNzM2MTExQ0MyNjU5MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzU3NDRGMDEyNjM4RkIzMDA2RjBGMTIgLyogV2ViUG9wdXBJ
dGVtLmggaW4gSGVhZGVycyAqLywKIAkJCQlEM0I5NDg0NzExRkY0QjY1MDAwMzJCMzkgLyogV2Vi
UG9wdXBNZW51LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xs
ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjc4MGNhYmUwMGNmNmUzODUxOWY3ZDAzYjk4YTA3MzNjNjM5ZjQy
MGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwCkBAIC0wLDAgKzEsMTQyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlBlcm1pc3Npb25Db250
cm9sbGVyLmgiCisKKworI2luY2x1ZGUgIldlYlBhZ2UuaCIKKyNpbmNsdWRlICJXZWJQYWdlUHJv
eHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUGVybWlzc2lvbk9ic2VydmVyLmg+CisK
K25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6V2ViUGVybWlz
c2lvbkNvbnRyb2xsZXIoV2ViUGFnZSYgcGFnZSkKKyAgICA6IG1fcGFnZShtYWtlV2Vha1B0cihw
YWdlKSkKK3sKK30KKworV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIFdlYlBlcm1pc3Npb25Db250
cm9sbGVyOjpxdWVyeShXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNvcmU6OlBl
cm1pc3Npb25EZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikKK3sKKyAgICBpZiAoIW1fcGFnZSkKKyAg
ICAgICAgcmV0dXJuIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkOworCisgICAgcmV0
dXJuIHF1ZXJ5Q2FjaGUoV1RGTW92ZShvcmlnaW4pLCBXVEZNb3ZlKGRlc2NyaXB0b3IpKTsKK30K
Kwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cmVxdWVzdChXZWJDb3JlOjpDbGllbnRP
cmlnaW4mJiBvcmlnaW4sIFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiYgZGVzY3JpcHRv
ciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQoreworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm4gY29t
cGxldGlvbkhhbmRsZXIoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpEZW5pZWQpOworCisgICAg
YXV0byBjYWNoZWRSZXN1bHQgPSBxdWVyeUNhY2hlKG9yaWdpbiwgZGVzY3JpcHRvcik7CisgICAg
aWYgKGNhY2hlZFJlc3VsdCAhPSBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdCkKKyAg
ICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGNhY2hlZFJlc3VsdCk7CisKKyAgICBtX3Jl
cXVlc3RzLmFwcGVuZChQZXJtaXNzaW9uUmVxdWVzdCB7IFdURk1vdmUob3JpZ2luKSwgV1RGTW92
ZShkZXNjcmlwdG9yKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikgfSk7CisgICAgdHJ5UHJv
Y2Vzc2luZ1JlcXVlc3QoKTsKK30KKworV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIFdlYlBlcm1p
c3Npb25Db250cm9sbGVyOjpxdWVyeUNhY2hlKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYg
b3JpZ2luLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcikK
K3sKKyAgICBpZiAobV9jYWNoZWRQZXJtaXNzaW9uRW50cmllcy5jb250YWlucyhvcmlnaW4pKSB7
CisgICAgICAgIGF1dG8gcGVybWlzc2lvbkVudHJpZXMgPSBtX2NhY2hlZFBlcm1pc3Npb25FbnRy
aWVzLmdldChvcmlnaW4pOworICAgICAgICBmb3IgKGF1dG8mIGVudHJ5IDogcGVybWlzc2lvbkVu
dHJpZXMpIHsKKyAgICAgICAgICAgIGlmIChlbnRyeS5maXJzdCA9PSBkZXNjcmlwdG9yKQorICAg
ICAgICAgICAgICAgIHJldHVybiBlbnRyeS5zZWNvbmQ7CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICByZXR1cm4gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpQcm9tcHQ7Cit9CisKK3ZvaWQgV2Vi
UGVybWlzc2lvbkNvbnRyb2xsZXI6OnVwZGF0ZUNhY2hlKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9y
aWdpbiYgb3JpZ2luLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3Jp
cHRvciwgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHN0YXRlKQoreworICAgIGF1dG8mIGVudHJp
ZXMgPSBtX2NhY2hlZFBlcm1pc3Npb25FbnRyaWVzLmVuc3VyZShvcmlnaW4sIFsmXSgpIHsKKyAg
ICAgICAgcmV0dXJuIFZlY3RvcjxQZXJtaXNzaW9uRW50cnk+IHsgfTsKKyAgICB9KS5pdGVyYXRv
ci0+dmFsdWU7CisgICAgZm9yIChhdXRvJiBlbnRyeSA6IGVudHJpZXMpIHsKKyAgICAgICAgaWYg
KGVudHJ5LmZpcnN0ID09IGRlc2NyaXB0b3IpIHsKKyAgICAgICAgICAgIGlmIChlbnRyeS5zZWNv
bmQgPT0gc3RhdGUpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBlbnRy
eS5zZWNvbmQgPSBzdGF0ZTsKKyAgICAgICAgICAgIHBlcm1pc3Npb25DaGFuZ2VkKG9yaWdpbiwg
ZGVzY3JpcHRvciwgc3RhdGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
fQorfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQcm9jZXNzaW5nUmVxdWVz
dCgpCit7CisgICAgaWYgKG1fcmVxdWVzdHMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisK
KyAgICB3aGlsZSAoIW1fcmVxdWVzdHMuaXNFbXB0eSgpKSB7CisgICAgICAgIGF1dG8mIGN1cnJl
bnRSZXF1ZXN0ID0gbV9yZXF1ZXN0cy5maXJzdCgpOworICAgICAgICBpZiAoY3VycmVudFJlcXVl
c3QuaXNXYWl0aW5nRm9yUmVwbHkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgLy8g
Q2FjaGUgbWF5IGhhdmUgdXBkYXRlZC4KKyAgICAgICAgYXV0byBjYWNoZWRSZXN1bHQgPSBxdWVy
eUNhY2hlKGN1cnJlbnRSZXF1ZXN0Lm9yaWdpbiwgY3VycmVudFJlcXVlc3QuZGVzY3JpcHRvcik7
CisgICAgICAgIGlmIChjYWNoZWRSZXN1bHQgIT0gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpQ
cm9tcHQpIHsKKyAgICAgICAgICAgIGF1dG8gdGFrZW5SZXF1ZXN0ID0gbV9yZXF1ZXN0cy50YWtl
Rmlyc3QoKTsKKyAgICAgICAgICAgIHRha2VuUmVxdWVzdC5jb21wbGV0aW9uSGFuZGxlcihjYWNo
ZWRSZXN1bHQpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBj
dXJyZW50UmVxdWVzdC5pc1dhaXRpbmdGb3JSZXBseSA9IHRydWU7CisgICAgICAgIG1fcGFnZS0+
c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OnJlcXVlc3RQZXJtaXNz
aW9uKGN1cnJlbnRSZXF1ZXN0Lm9yaWdpbiwgY3VycmVudFJlcXVlc3QuZGVzY3JpcHRvciksIFt0
aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0oYXV0byBzdGF0ZSkgeworICAgICAg
ICAgICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
ICAgIGF1dG8gdGFrZW5SZXF1ZXN0ID0gbV9yZXF1ZXN0cy50YWtlRmlyc3QoKTsKKyAgICAgICAg
ICAgIHRha2VuUmVxdWVzdC5jb21wbGV0aW9uSGFuZGxlcihzdGF0ZSk7CisgICAgICAgICAgICB1
cGRhdGVDYWNoZSh0YWtlblJlcXVlc3Qub3JpZ2luLCB0YWtlblJlcXVlc3QuZGVzY3JpcHRvciwg
c3RhdGUpOworCisgICAgICAgICAgICB0cnlQcm9jZXNzaW5nUmVxdWVzdCgpOworICAgICAgICB9
KTsKKyAgICB9Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OmFkZE9ic2VydmVy
KFdlYkNvcmU6OlBlcm1pc3Npb25PYnNlcnZlciYgb2JzZXJ2ZXIpCit7CisgICAgbV9vYnNlcnZl
cnMuYWRkKG9ic2VydmVyKTsKK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cmVt
b3ZlT2JzZXJ2ZXIoV2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAg
ICBtX29ic2VydmVycy5yZW1vdmUob2JzZXJ2ZXIpOworfQorCit2b2lkIFdlYlBlcm1pc3Npb25D
b250cm9sbGVyOjpwZXJtaXNzaW9uQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4m
IG9yaWdpbiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3Is
IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBzdGF0ZSkKK3sKKyAgICBmb3IgKGF1dG8mIG9ic2Vy
dmVyIDogbV9vYnNlcnZlcnMpIHsKKyAgICAgICAgaWYgKG9ic2VydmVyLm9yaWdpbigpID09IG9y
aWdpbiAmJiBvYnNlcnZlci5kZXNjcmlwdG9yKCkgPT0gZGVzY3JpcHRvcikKKyAgICAgICAgICAg
IG9ic2VydmVyLnN0YXRlQ2hhbmdlZChzdGF0ZSk7CisgICAgfQorfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTNi
ZTFlZDllYjYyZjlkNDJkZjUxNTFkYWQ3ZmE1MGYzM2Q0NzlhNgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29u
dHJvbGxlci5oCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2luY2x1ZGUgPFdlYkNvcmUvUGVybWlzc2lvbkNvbnRyb2xsZXIuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL1Blcm1pc3Npb25EZXNjcmlwdG9yLmg+CisjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CisjaW5j
bHVkZSA8d3RmL1dlYWtIYXNoU2V0Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBX
ZWJQYWdlOworCitjbGFzcyBXZWJQZXJtaXNzaW9uQ29udHJvbGxlciBmaW5hbCA6IHB1YmxpYyBD
YW5NYWtlV2Vha1B0cjxXZWJQZXJtaXNzaW9uQ29udHJvbGxlcj4sIHB1YmxpYyBXZWJDb3JlOjpQ
ZXJtaXNzaW9uQ29udHJvbGxlciB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgV2ViUGVybWlzc2lv
bkNvbnRyb2xsZXIoV2ViUGFnZSYpOworCitwcml2YXRlOgorICAgIC8vIFdlYkNvcmU6OlBlcm1p
c3Npb25Db250cm9sbGVyCisgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHF1ZXJ5KFdlYkNv
cmU6OkNsaWVudE9yaWdpbiYmLCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmKSBmaW5h
bDsKKyAgICB2b2lkIHJlcXVlc3QoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlBl
cm1pc3Npb25EZXNjcmlwdG9yJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXRlKT4mJikgZmluYWw7CisgICAgdm9pZCBhZGRPYnNlcnZlcihXZWJDb3JlOjpQ
ZXJtaXNzaW9uT2JzZXJ2ZXImKSBmaW5hbDsKKyAgICB2b2lkIHJlbW92ZU9ic2VydmVyKFdlYkNv
cmU6OlBlcm1pc3Npb25PYnNlcnZlciYpIGZpbmFsOworCisgICAgV2ViQ29yZTo6UGVybWlzc2lv
blN0YXRlIHF1ZXJ5Q2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2Vi
Q29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImKTsKKyAgICB2b2lkIHVwZGF0ZUNhY2hlKGNvbnN0
IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlw
dG9yJiwgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKTsKKyAgICB2b2lkIHRyeVByb2Nlc3NpbmdS
ZXF1ZXN0KCk7CisgICAgdm9pZCBwZXJtaXNzaW9uQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpDbGll
bnRPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIFdlYkNvcmU6
OlBlcm1pc3Npb25TdGF0ZSk7CisKKyAgICBXZWFrUHRyPFdlYlBhZ2U+IG1fcGFnZTsKKyAgICBX
ZWFrSGFzaFNldDxXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXI+IG1fb2JzZXJ2ZXJzOworCisg
ICAgdXNpbmcgUGVybWlzc2lvbkVudHJ5ID0gc3RkOjpwYWlyPFdlYkNvcmU6OlBlcm1pc3Npb25E
ZXNjcmlwdG9yLCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU+OworICAgIEhhc2hNYXA8V2ViQ29y
ZTo6Q2xpZW50T3JpZ2luLCBWZWN0b3I8UGVybWlzc2lvbkVudHJ5Pj4gbV9jYWNoZWRQZXJtaXNz
aW9uRW50cmllczsKKworICAgIHN0cnVjdCBQZXJtaXNzaW9uUmVxdWVzdCB7CisgICAgICAgIFdl
YkNvcmU6OkNsaWVudE9yaWdpbiBvcmlnaW47CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25E
ZXNjcmlwdG9yIGRlc2NyaXB0b3I7CisgICAgICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vi
Q29yZTo6UGVybWlzc2lvblN0YXRlKT4gY29tcGxldGlvbkhhbmRsZXI7CisgICAgICAgIGJvb2wg
aXNXYWl0aW5nRm9yUmVwbHkgeyBmYWxzZSB9OworICAgIH07CisgICAgRGVxdWU8UGVybWlzc2lv
blJlcXVlc3Q+IG1fcmVxdWVzdHM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDA0ZTNhZTIw
MTQzZjJmM2RiZDIwNjRhMzAyZjAxYjg0ZWRjYTk2NDUuLjcxMWVkOGU5MjI3NmViOTMxZjU0NDVj
NzRmZDZjM2IwZTllYjU0MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCkBAIC0xMjEsNiArMTIxLDcgQEAKICNpbmNsdWRlICJXZWJQYWdlUHJveHlN
ZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlBheW1lbnRDb29yZGluYXRvci5oIgogI2luY2x1ZGUg
IldlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oIgorI2luY2x1ZGUgIldlYlBlcm1pc3Npb25D
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiV2ViUGx1Z2luSW5mb1Byb3ZpZGVyLmgiCiAjaW5jbHVk
ZSAiV2ViUG9wdXBNZW51LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5o
IgpAQCAtNTYzLDcgKzU2NCw4IEBAIFdlYlBhZ2U6OldlYlBhZ2UoUGFnZUlkZW50aWZpZXIgcGFn
ZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICAgICAgbWFr
ZVVuaXF1ZVJlZjxXZWJGcmFtZUxvYWRlckNsaWVudD4obV9tYWluRnJhbWUuY29weVJlZigpKSwK
ICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPihtX2lk
ZW50aWZpZXIpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4o
KnRoaXMpLAotICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5icm9hZGNhc3RDaGFubmVs
UmVnaXN0cnkoKQorICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5icm9hZGNhc3RDaGFu
bmVsUmVnaXN0cnkoKSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJQZXJtaXNzaW9uQ29udHJv
bGxlcj4oKnRoaXMpCiAgICAgKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQg
PSBuZXcgV2ViQ2hyb21lQ2xpZW50KCp0aGlzKTsKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5
UmVmcmVzaE1vbml0b3JNYWMuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaAppbmRleCBiYmY4ZDFiYjhjZTZjMzAxZGMzZWYy
MDE5NTNkODJmZWMwNWVkZDU4Li41NmJjODFjNzhmMzRhYTQ1MzQ3OTM1ZDI3MWVjNTcwYzNmYzdl
ZTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlz
cGxheVJlZnJlc2hNb25pdG9yTWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCkBAIC01MCw3ICs1MCw3IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBzdGFydE5vdGlmaWNhdGlvbk1lY2hhbmlzbSgpIGZpbmFsOwogICAg
IHZvaWQgc3RvcE5vdGlmaWNhdGlvbk1lY2hhbmlzbSgpIGZpbmFsOwogCi0gICAgdm9pZCBhZGp1
c3RQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQoRnJhbWVzUGVyU2Vjb25kKSBmaW5hbDsKKyAgICB2
b2lkIGFkanVzdFByZWZlcnJlZEZyYW1lc1BlclNlY29uZChXZWJDb3JlOjpGcmFtZXNQZXJTZWNv
bmQpIGZpbmFsOwogCiAgICAgRGlzcGxheUxpbmtPYnNlcnZlcklEIG1fb2JzZXJ2ZXJJRDsKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UnVuTG9vcE9ic2VydmVyPiBtX3J1bkxvb3BPYnNl
cnZlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBj
ZDZhNWY1NzI5OTRmN2VjNGZiZGU3NjM3ZGY4NjdiZDUyZjNjODM0Li40ODAzZWJjOWVjNzdlODhl
MTViMjhlMmJlZGMxNmQ2NzNhNzI4OWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tCkBAIC0xOTUsNiArMTk1LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGFn
ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYWdlQ29uZmlndXJhdGlvbi5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9QYXRoVXRpbGl0aWVzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1Blcm1pc3Npb25Db250cm9s
bGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1BsYXRmb3JtU2NyZWVuLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Byb2dyZXNz
VHJhY2tlci5oPgpAQCAtMTUzNiw3ICsxNTM3LDggQEAgc3RhdGljIHZvaWQgV2ViS2l0SW5pdGlh
bGl6ZUdhbWVwYWRQcm92aWRlcklmTmVjZXNzYXJ5KCkKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxX
ZWJGcmFtZUxvYWRlckNsaWVudD4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpE
dW1teVNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8
V2ViQ29yZTo6TWVkaWFSZWNvcmRlclByb3ZpZGVyPigpLAotICAgICAgICBXZWJCcm9hZGNhc3RD
aGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZF0pCisgICAgICAgIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0
T3JDcmVhdGUoW1tzZWxmIHByZWZlcmVuY2VzXSBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSksCisg
ICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6RHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlcj4o
KQogICAgICk7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgcGFnZUNvbmZpZ3VyYXRp
b24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudChzZWxmKTsKQEAgLTE4MTQsNyAr
MTgxNiw4IEBAIHN0YXRpYyB2b2lkIFdlYktpdEluaXRpYWxpemVHYW1lcGFkUHJvdmlkZXJJZk5l
Y2Vzc2FyeSgpCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KCks
CiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6RHVtbXlTcGVlY2hSZWNvZ25pdGlvblBy
b3ZpZGVyPigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQ
cm92aWRlcj4oKSwKLSAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNy
ZWF0ZShbW3NlbGYgcHJlZmVyZW5jZXNdIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdKQorICAgICAg
ICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJl
bmNlc10gcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0pLAorICAgICAgICBtYWtlVW5pcXVlUmVmPFdl
YkNvcmU6OkR1bW15UGVybWlzc2lvbkNvbnRyb2xsZXI+KCkKICAgICApOwogICAgIHBhZ2VDb25m
aWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnRJT1Moc2VsZik7CiAj
aWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKaW5k
ZXggMWNmMzJkYTI0YTA5MGNmZTNkMmI2NTI5Y2E4M2Y4MjZjNTU4MmU5ZC4uYzE5ZThlZmY1N2Y4
MTkwZWEyYzRiY2UzMTVmMGY4MGIzOTJjMTliNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmll
dy5jcHAKQEAgLTEzOCw2ICsxMzgsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50
ZWQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2VDb25maWd1cmF0aW9uLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9QYXRoVXRpbGl0aWVzLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uQ29u
dHJvbGxlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybU1vdXNlRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1BsYXRmb3JtV2hlZWxFdmVudC5oPgpAQCAtMzEzMyw3ICszMTM0LDggQEAgSFJFU1VMVCBXZWJW
aWV3Ojppbml0V2l0aEZyYW1lKFJFQ1QgZnJhbWUsIF9Jbl8gQlNUUiBmcmFtZU5hbWUsIF9Jbl8g
QlNUUiBncm91cE4KICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJGcmFtZUxvYWRlckNsaWVudD4o
d2ViRnJhbWUpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPER1bW15U3BlZWNoUmVjb2duaXRpb25Q
cm92aWRlcj4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+
KCksCi0gICAgICAgIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoZmFs
c2UpCisgICAgICAgIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoZmFs
c2UpLAorICAgICAgICBtYWtlVW5pcXVlUmVmPER1bW15UGVybWlzc2lvbkNvbnRyb2xsZXI+KCkK
ICAgICApOwogICAgIGNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNs
aWVudCh0aGlzKTsKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmMTM1ZmRjMzA5
NzU2MDk3NmRhODA4Yzk5ODlmMDA3M2JjOTFkNGU5Li5jNjY4NDBlNDA5MDVkMDc0MmM0YmUwYTQ1
MDBlYWFmYTRlMzY2MGM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDgtMjcgIFNpaHVp
IExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJt
aXNzaW9ucyBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyOTMzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL2Zhc3Qv
ZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zOgorCiAy
MDIxLTA4LTI1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgQ3Jhc2ggaW4gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnJlc2hhcGVEaXNwbGF5
QnVmZmVyQmFja2luZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOGE2NjUwZjg4
Mjg0OTk4MDJhOWQyMGVmZTY5YjU0MzM3YjY0NGI4Zi4uM2JhMmNjZDRhZWNkYmE5ZjZiM2Y3YTM3
NTBiOGZkYjc3YWYxZjA0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTkgQEAKKzIwMjEtMDgtMjcgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisK
KyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1p
c3Npb25zL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24t
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9w
ZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlz
c2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3Vu
ZC1mZXRjaC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lv
bi1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDgtMjUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBbTWFjIHdrMl0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVwb3J0aW5nLXRvLWZyYW1lLW93
bmVyLmh0dHBzLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2
YmRlMmY5NGVhZDIxN2I4NjQ0MzI1NzE4YzFmNGM2MjExZjI3NjcwLi44YmM5MzY4ZDhhOGVkMjhi
YWFhNTQxM2RiZjhhYmYyYzE2ZmQxOTFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE5Niw2ICsx
OTYsNyBAQCBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3Blcm1pc3Npb24tZXJyb3IuaHRtbCBbIFNr
aXAgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1yZWNvZ25pdGlvbi10aGVuLXN0b3Au
aHRtbCBbIFNraXAgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1zZWNvbmQtcmVjb2du
aXRpb24uaHRtbCBbIFNraXAgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9pb3MvIFsgU2tpcCBd
CitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zLyBbIFNraXAgXQog
CiAjIGFwcC1wcml2YWN5LXJlcG9ydCB0ZXN0cyByZWx5IG9uIFdlYktpdEFkZGl0aW9ucwogaHR0
cC90ZXN0cy9hcHAtcHJpdmFjeS1yZXBvcnQvIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5l
c3MuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGI4
NGQ0MGQ3NjVmMjA0MDgzZGVmOGI2NzcwMGM0MjA0NGIwMzQ2OTguLjBjNGJhYTBjZmVlMDFmOTRj
ZWFmNGFmN2ZiMzhmODliNGZiNmJiZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CkBAIC0xOSwyOSArMTksMjkg
QEAgUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JMYW5n
dWFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1
ZGVzIE5hdmlnYXRvck9uTGluZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2Vy
TmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVyIG5h
bWVzIGFyZSB1bmlxdWUKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVj
dGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25T
dGF0dXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJv
cGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBp
bnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBl
cm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJt
aXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2lu
ZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0
eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQ
ZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlz
c2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIg
bWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRl
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBl
cm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNz
aW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2Ug
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVy
bWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3Np
bmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHBl
cm1pc3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBl
dmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwgU3RyaW5n
aWZpY2F0aW9uIG9mIHBlcm1pc3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBl
eGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2Jq
ZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1
cyIKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJzdGF0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2Vx
dWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3Rl
ZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBl
cm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNoYW5nZSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFs
dWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwgUGVybWlzc2lv
bnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVj
dCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQ
ZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlM
IFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBw
cm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNl
IG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1p
c3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3Bl
cnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJj
b25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNz
aW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMg
cHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2lu
ZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeShvYmplY3QpIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1p
c3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVy
bWlzc2lvbnMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3IucGVybWlzc2lv
bnMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBi
dXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuYXZpZ2F0b3IucGVy
bWlzc2lvbnMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2Jq
ZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogbmF2
aWdhdG9yLnBlcm1pc3Npb25zIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVlcnkob2JqZWN0KSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBl
eHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIFBlcm1pc3Npb25zIGlu
dGVyZmFjZTogY2FsbGluZyBxdWVyeShvYmplY3QpIG9uIG5hdmlnYXRvci5wZXJtaXNzaW9ucyB3
aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9lcXVhbHM6
IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVk
IgotRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGVybWlzc2lvbnMgYXNzZXJ0
X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJwZXJtaXNz
aW9ucyIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTog
bmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGVybWlzc2lvbnMiIHdpdGggdGhlIHBy
b3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInBlcm1pc3Npb25zIiBub3QgZm91
bmQgaW4gcHJvdG90eXBlIGNoYWluCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQZXJtaXNz
aW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1pc3Npb25TdGF0dXMg
aW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BB
U1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BB
U1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BB
U1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZQorUEFTUyBQZXJt
aXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlCitQQVNTIFBlcm1pc3Np
b25TdGF0dXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBwZXJtaXNzaW9uU3RhdHVzCitQ
QVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBwZXJtaXNzaW9uU3RhdHVzCitQQVNTIFBlcm1pc3Npb25T
dGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
c3RhdGUiIHdpdGggdGhlIHByb3BlciB0eXBlCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJm
YWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jaGFuZ2UiIHdp
dGggdGhlIHByb3BlciB0eXBlCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvbnMgaW50
ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBu
YW1lCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBA
dW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRp
b24gcXVlcnkob2JqZWN0KQorUEFTUyBQZXJtaXNzaW9ucyBtdXN0IGJlIHByaW1hcnkgaW50ZXJm
YWNlIG9mIG5hdmlnYXRvci5wZXJtaXNzaW9ucworUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmF2
aWdhdG9yLnBlcm1pc3Npb25zCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogbmF2aWdhdG9y
LnBlcm1pc3Npb25zIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVlcnkob2JqZWN0KSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBjYWxsaW5nIHF1ZXJ5
KG9iamVjdCkgb24gbmF2aWdhdG9yLnBlcm1pc3Npb25zIHdpdGggdG9vIGZldyBhcmd1bWVudHMg
bXVzdCB0aHJvdyBUeXBlRXJyb3IKK1BBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRl
IHBlcm1pc3Npb25zCitQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IG5hdmlnYXRvciBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgInBlcm1pc3Npb25zIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1p
c3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55
Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggNTI1NjAyZDE2ZDdmMGY1NGNhOGVmMDNmN2ZjZjVi
NGVlZWYzMTY5Ny4uMDYyYjI5NTdmMzE1NTFiMzUyYTQ5NTQxNmMzZjRhYmZhNTc5OWU2ZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJt
aXNzaW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVz
cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMTksMjUgKzE5LDI1IEBAIFBBU1MgV29ya2Vy
TmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQog
UEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJlciBu
YW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JP
bkxpbmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNs
dWRlcyBOYXZpZ2F0b3JDb25jdXJyZW50SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVl
Ci1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90
IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAi
UGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFj
ZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNz
aW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVj
dCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVz
IiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIg
ZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlz
c2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1
cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0
YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwg
UGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZSBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVz
IiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJt
aXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlIGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMi
IGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCitQQVNTIFBlcm1p
c3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3Ro
CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBlcm1p
c3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJj
b25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBA
dW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBzdGF0ZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRl
IG9uY2hhbmdlCiBGQUlMIFBlcm1pc3Npb25TdGF0dXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFj
ZSBvZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9u
IHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCiBGQUlM
IFN0cmluZ2lmaWNhdGlvbiBvZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhw
ZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQg
Z290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Np
b25TdGF0dXMiCiBGQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3Rh
dHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RhdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFz
c2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3Qg
ZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCiBGQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJm
YWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jaGFuZ2UiIHdp
dGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdo
ZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBl
cm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2lu
ZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhw
ZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGlu
dGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Np
b25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAi
UGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2Nv
cGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMi
IG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2Jq
ZWN0KSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCitQ
QVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgK
K1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBlcm1pc3Npb25z
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9w
ZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkK
K1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2JqZWN0KQogRkFJ
TCBQZXJtaXNzaW9ucyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmlnYXRvci5wZXJt
aXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmpl
Y3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKIEZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRv
ci5wZXJtaXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVk
ICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKIEZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNl
OiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeShvYmpl
Y3QpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2Jq
ZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZj
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5k
ZXggYzNlODYwNWY4NzI4N2E4MDM4MWY1ZGI4MDZjZGQwNWEyNTU2NWRkZS4uYzJmZDY1ZThkNDAw
MmE3MjMwMTg3YTYxZjUxYzI4MmVmYzFjNmJlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwz
IEBACiAKLUZBSUwgVGVzdCBXZWIgTkZDIFBlcm1pc3Npb24uIHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKQorUEFTUyBU
ZXN0IFdlYiBORkMgUGVybWlzc2lvbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVyeS1m
ZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lv
bnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQK
aW5kZXggZTQyZGRhMjYxMmYyNTdiN2YwMmJiZWVmNjU2MzNiMjViNzM2NDdhNS4uYzRiYTI0OTJl
OTkxOTlkNjY2MDVhOGMwMWFhMDE1MWI5NjI0NjA3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1x
dWVyeS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25z
L3Blcm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhw
ZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCi1GQUlMIFBlcm1pc3Npb25zLnN0YXRlIGlzICJw
cm9tcHQiIHdpdGggYWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLiBh
c3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikg
ZXhwZWN0ZWQgKHN0cmluZykgInByb21wdCIgYnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIFBl
cm1pc3Npb25zLnN0YXRlIGlzICJwcm9tcHQiIHdpdGggYWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBj
cm9zcy1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25z
LnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJwcm9tcHQiIGJ1dCBnb3Qg
KG9iamVjdCkgbnVsbAotRkFJTCBQZXJtaXNzaW9uLnN0YXRlIGlzICJwcm9tcHQiIGluIHNhbWUt
b3JpZ2luIGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVy
eSgiZ2VvbG9jYXRpb24iKSBleHBlY3RlZCAoc3RyaW5nKSAicHJvbXB0IiBidXQgZ290IChvYmpl
Y3QpIG51bGwKLUZBSUwgUGVybWlzc2lvbi5zdGF0ZSBpcyAiZGVuaWVkIiBpbiBjcm9zcy1vcmln
aW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KCJn
ZW9sb2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJkZW5pZWQiIGJ1dCBnb3QgKG9iamVjdCkg
bnVsbAorUEFTUyBQZXJtaXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93PSJnZW9s
b2NhdGlvbiIgaW4gc2FtZS1vcmlnaW4gaWZyYW1lcy4KK1BBU1MgUGVybWlzc2lvbnMuc3RhdGUg
aXMgInByb21wdCIgd2l0aCBhbGxvdz0iZ2VvbG9jYXRpb24iIGluIGNyb3NzLW9yaWdpbiBpZnJh
bWVzLgorUEFTUyBQZXJtaXNzaW9uLnN0YXRlIGlzICJwcm9tcHQiIGluIHNhbWUtb3JpZ2luIGlm
cmFtZXMuCitGQUlMIFBlcm1pc3Npb24uc3RhdGUgaXMgImRlbmllZCIgaW4gY3Jvc3Mtb3JpZ2lu
IGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2Vv
bG9jYXRpb24iKSBleHBlY3RlZCAiZGVuaWVkIiBidXQgZ290ICJwcm9tcHQiCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lv
bnMvcGVybWlzc2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVz
LW5hbWUtZXhwZWN0ZWQudHh0CmluZGV4IDExZmIxYTBkNjEyNGRhOTRlMDAxZTdkZDkyM2UwMTdj
ZTY5ZTc4YmEuLjBlNGViY2M0N2NjYjkzODkwOGVjZTg0Y2M2OGYxNTNkMDg1Mzc5YTYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlz
c2lvbnMvcGVybWlzc2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9u
c3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IFBl
cm1pc3Npb25TdGF0dXMncyBuYW1lIGF0dHJpYnV0ZS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykiCitQ
QVNTIFRlc3QgUGVybWlzc2lvblN0YXR1cydzIG5hbWUgYXR0cmlidXRlLgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25z
L3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxv
Y2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXggODVjN2JiYTVjMmIyNDU5M2Y1MWUyMTQ2
YmUyNWJkMTZmYTA1ZmY1OC4uZDY4YjY4MGI4MTlkZTE3YzNhZDM1YmQ1OGU2ZjUwZDE1YTZkYmFi
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lv
bnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMg
QEAKIAotRkFJTCBUZXN0ICJzY3JlZW4td2FrZS1sb2NrIiBQZXJtaXNzaW9uLiBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lv
bnMucXVlcnknKSIKK0ZBSUwgVGVzdCAic2NyZWVuLXdha2UtbG9jayIgUGVybWlzc2lvbi4gcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBUeXBlIGVycm9yIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1mZXRjaC1wZXJt
aXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhw
ZWN0ZWQudHh0CmluZGV4IDlhOTQyNjlmYjc0MzhmYzYzYmUxOGQwMGNkMjk5N2NjNTliYThkZDYu
Ljc4NWJiNTg1ZjUxNTk1ZmRlYTA1MjM0MTY3MjM4MTNjOGRiMjMxNTkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVz
dC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNr
Z3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1G
QUlMIFRlc3QgQmFja2dyb3VuZCBGZXRjaCBQZXJtaXNzaW9uLiB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykKK1BBU1Mg
VGVzdCBCYWNrZ3JvdW5kIEZldGNoIFBlcm1pc3Npb24uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJp
b2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9k
aWMtYmFja2dyb3VuZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CmluZGV4IDMxNmQzNTFh
MGUwNzU0YjFlNTA5YmYzY2EwYWRhNGI2NGRlMzU2YTcuLjRlOWYzN2E4NzU2ZWIxN2EyZmI4NGYx
MTcwMmExNDNhODZiNzA5OWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5
bmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQt
c3luYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0
IFBlcmlvZGljIEJhY2tncm91bmQgU3luYyBQZXJtaXNzaW9uLiBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkn
KSIKK0ZBSUwgVGVzdCBQZXJpb2RpYyBCYWNrZ3JvdW5kIFN5bmMgUGVybWlzc2lvbi4gcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBUeXBlIGVycm9yIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sx
L2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1j
cmFzaC1leHBlY3RlZC50eHQKaW5kZXggYzQ2ZmVjNjQwNTk4YmRmOWJmZWM1YmZiNzUxMWQ2NzA4
N2VjMWI2ZS4uZTA4MTcwMzQ1ODBhM2UyZDMyYTBjMGM1YzZkZGNmNTQ1NzUyYzkxNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0
YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azEvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApA
QCAtMTMsNiArMTMsNyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgaXMgT0sKIG5hdmln
YXRvci5tZWRpYVNlc3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlwZXMgaXMgT0sKIG5hdmln
YXRvci5vbkxpbmUgaXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyBPSwogbmF2aWdhdG9y
LnBsYXRmb3JtIGlzIE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwogbmF2aWdhdG9yLnByb2R1
Y3QgaXMgT0sKQEAgLTM2LDYgKzM3LDcgQEAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGlz
IE9LCiBuYXZpZ2F0b3IubWVkaWFTZXNzaW9uIGlzIE9LCiBuYXZpZ2F0b3IubWltZVR5cGVzIGlz
IE9LCiBuYXZpZ2F0b3Iub25MaW5lIGlzIE9LCituYXZpZ2F0b3IucGVybWlzc2lvbnMgaXMgT0sK
IG5hdmlnYXRvci5wbGF0Zm9ybSBpcyBPSwogbmF2aWdhdG9yLnBsdWdpbnMgaXMgT0sKIG5hdmln
YXRvci5wcm9kdWN0IGlzIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1u
by1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggZGY5MDEwOTA0ZDU3N2U4NWEwNzY2NjdhOTM3YWQ3
N2U2ZDhmNTk1Ny4uYzY4ZDNjYTBiMzBjZGNlZTdkZTFlYjdiZTQxMzY5YTBiZWRiODNiYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3It
ZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4
dApAQCAtMTgsNiArMTgsNyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgaXMgT0sKIG5h
dmlnYXRvci5tZWRpYVNlc3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlwZXMgaXMgT0sKIG5h
dmlnYXRvci5vbkxpbmUgaXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyBPSwogbmF2aWdh
dG9yLnBsYXRmb3JtIGlzIE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwogbmF2aWdhdG9yLnBy
b2R1Y3QgaXMgT0sKQEAgLTUxLDYgKzUyLDcgQEAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
IGlzIE9LCiBuYXZpZ2F0b3IubWVkaWFTZXNzaW9uIGlzIE9LCiBuYXZpZ2F0b3IubWltZVR5cGVz
IGlzIE9LCiBuYXZpZ2F0b3Iub25MaW5lIGlzIE9LCituYXZpZ2F0b3IucGVybWlzc2lvbnMgaXMg
T0sKIG5hdmlnYXRvci5wbGF0Zm9ybSBpcyBPSwogbmF2aWdhdG9yLnBsdWdpbnMgaXMgT0sKIG5h
dmlnYXRvci5wcm9kdWN0IGlzIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IDZjZWUwZmEyZDRkNWRmZjZiOWQ2MTgyN2VlZTNlOTE0ZDk3OWI5NDUuLjQw
OGM4YjQxYmM0M2NhMWIzM2YwNjQ3OTEwYTJiYTVjNjYzMzZkYmUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCkBAIC04NjAsNCArODYwLDUgQEAgZmFzdC9zcGVl
Y2hyZWNvZ25pdGlvbi9wZXJtaXNzaW9uLWVycm9yLmh0bWwgWyBQYXNzIF0KIGZhc3Qvc3BlZWNo
cmVjb2duaXRpb24vc3RhcnQtcmVjb2duaXRpb24tdGhlbi1zdG9wLmh0bWwgWyBQYXNzIF0KIGZh
c3Qvc3BlZWNocmVjb2duaXRpb24vc3RhcnQtc2Vjb25kLXJlY29nbml0aW9uLmh0bWwgWyBQYXNz
IF0KIGZ1bGxzY3JlZW4vZnVsbC1zY3JlZW4tZW50ZXItd2hpbGUtZXhpdGluZy5odG1sIFsgUGFz
cyBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zLyBbIFBhc3Mg
XQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436679</attachid>
            <date>2021-08-27 15:21:49 -0700</date>
            <delta_ts>2021-08-27 17:20:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210827152148.patch</filename>
            <type>text/plain</type>
            <size>129015</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLjFiMGRhYjE5MTFhYTBiNzhjNGQ1MDliMjliYWIzNjgwYjkyMzI5
NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDgtMjcgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVu
Y2VzRXhwZXJpbWVudGFsLnlhbWw6CisKIDIwMjEtMDgtMjUgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHNvbWUgaU9TLXNwZWNpZmljIGNv
bXBpbGUtdGltZSBndWFyZHMgdGhhdCBhcmUgbm8gbG9uZ2VyIG5lZWRlZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGRhOTM1MmRkOGVmOWRjZDk1ZmJkNjcxMmI1NGViNGVlZmZlZDI1YzIuLmEyYWI3MTgxZGMzYTMz
YmRkNDU4YmU3ZGQxOTQxNDJlNjcyMWJjNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NyBAQAor
MjAyMS0wOC0yNyAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MjQ0
MjIwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgYmluZGluZ3MgY29kZSBhbmQgYSBmZWF0dXJlIGZsYWcgZm9yIFBlcm1pc3Npb25zIEFQSS4K
KyAgICAgICAgU3BlYzogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLworCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gUmViYXNlbGluZSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAg
ICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbDogQWRkZWQu
CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6Ok5hdmlnYXRv
clBlcm1pc3Npb25zKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpw
ZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6ZnJv
bSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6c3VwcGxlbWVudE5h
bWUpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMu
aDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uQ29udHJv
bGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0
b3I6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbkRlc2Ny
aXB0b3I6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3Jp
cHRvcjo6ZGVjb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uTmFtZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25OYW1lLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uT2JzZXJ2ZXIuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uU3RhdGUuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uU3RhdGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25TdGF0dXMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Np
b25TdGF0dXM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdHVzOjpQ
ZXJtaXNzaW9uU3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6On5Q
ZXJtaXNzaW9uU3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OnN0
YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdHVzOjphY3RpdmVE
T01PYmplY3ROYW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6
OnZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXR1czo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdHVzLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcm1p
c3Npb25zOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbnM6OlBlcm1pc3Np
b25zKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpuYXZpZ2F0b3IpOgorICAgICAg
ICAoV2ViQ29yZTo6UGVybWlzc2lvbnM6OnF1ZXJ5KToKKyAgICAgICAgKiBNb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25zLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGlu
Z3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cGVybWlzc2lvbkNvbnRyb2xsZXIpOgorICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZhY3Rvcnku
aW46CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnBlcm1pc3Npb25Db250cm9sbGVyKToKKyAg
ICAgICAgKiBkb20vVGFza1NvdXJjZS5oOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFnZUNvbmZpZ3VyYXRpb25XaXRoRW1wdHlDbGllbnRz
KToKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bV9wZXJtaXNz
aW9uQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpwZXJtaXNzaW9uQ29udHJv
bGxlcik6CisgICAgICAgIChXZWJDb3JlOjptX2h0dHBzVXBncmFkZUVuYWJsZWQpOiBEZWxldGVk
LgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1
cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmg6CisKIDIwMjEtMDgt
MjUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBDcmFzaCBpbiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cmVzaGFwZURpc3BsYXlCdWZmZXJC
YWNraW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IDQyNDFiMmU2ZmE3ODU0ZjE1ZmQzM2M2Y2E5YzdmZWIzN2JjMWRi
MjEuLmMxZDg4MTQxMTBmOThmNDlmYWEyYTU4MjM5NDBhYTc0NDM0YTMwMjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMjEtMDgtMjcgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgU2V0IHVwIGJhc2ljIGluZnJhc3RyY3R1cmUgb2YgcGVybWlzc2lvbiBn
ZXR0aW5nIGFuZCBzZXR0aW5nLgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBlcm1pc3Npb25Db250
cm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnF1ZXJ5
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnJlcXVlc3QpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVlcnlDYWNoZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRhdGVDYWNoZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQcm9jZXNzaW5nUmVx
dWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjphZGRPYnNl
cnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjpyZW1vdmVP
YnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjpwZXJt
aXNzaW9uQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
ZXJtaXNzaW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fYXBwSGlnaGxpZ2h0c1Zpc2libGUp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9y
TWFjLmg6CisKIDIwMjEtMDgtMjYgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29u
eS5jb20+CiAKICAgICAgICAgW2N1cmxdIFJFR1JFU1NJT04ocjI4MTE1OCk6IGZldGNoKCdodHRw
Oi8vbG9jYWxob3N0LycpIGZyb20gYWJvdXQ6YmxhbmsgZG9lc24ndCBlbWl0IHRoZSBjb25zb2xl
IGVycm9yIG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA0NWE1NDg2ZTA1
ODA1ZDk3YmMxZTQ4YjQ0ZjkzZGEzMDMyOGE2YTFkLi5mMDgwMzM1YWVlNzg4OGZmMTgxNDg0Y2M2
MzNlOGM3NGYyMjY3MTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMjEtMDgtMjcgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbklu
aXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6XSk6CisgICAgICAgICgtW1dlYlZp
ZXcgaW5pdFNpbXBsZUhUTUxEb2N1bWVudFdpdGhTdHlsZTpmcmFtZTpwcmVmZXJlbmNlczpncm91
cE5hbWU6XSk6CisKIDIwMjEtMDgtMjQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBbV0syXSBJbXBsZW1lbnQgcHJvY2Vzcy1zd2FwcGluZyBiYXNlZCBvbiBDcm9z
cy1PcmlnaW4tT3BlbmVyLVBvbGljeSBIVFRQIGhlYWRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdl
TG9nCmluZGV4IGUyODE1MTAyOThhOGM3MzY0MWRjNDA0OTU2OTdhMmRmNDVhNTEzY2EuLmJiNDRm
NzYwNTJkMWQxNjdiZTg0YmYwM2Y0ODM4NDk3ZTk2ZDRiM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wOC0yNyAgU2lodWkgTGl1ICA8c2lodWlf
bGl1QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MjQ0MjIwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmll
dzo6aW5pdFdpdGhGcmFtZSk6CisKIDIwMjEtMDgtMjQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBbV0syXSBJbXBsZW1lbnQgcHJvY2Vzcy1zd2FwcGluZyBiYXNl
ZCBvbiBDcm9zcy1PcmlnaW4tT3BlbmVyLVBvbGljeSBIVFRQIGhlYWRlcgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFs
LnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBl
cmltZW50YWwueWFtbAppbmRleCAxODVhNWFjMGY0NTRjNzZjMDM0NzkyYWQxODU3NjFmY2NhNjk0
OTkxLi41NTU0NjAwZGJjNjY1OGZhMWNhYjJkMDU4Y2Q1MzVkYWY1MjkzMWM5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50
YWwueWFtbAorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbApAQCAtODgxLDYgKzg4MSwxOCBAQCBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nU2Vuc2l0aXZlUHJvcGVydGllc0VuYWJsZWQ6CiAgICAgV2ViQ29yZToKICAgICAg
IGRlZmF1bHQ6IGZhbHNlCiAKK1Blcm1pc3Npb25zQVBJRW5hYmxlZDoKKyAgdHlwZTogYm9vbAor
ICBodW1hblJlYWRhYmxlTmFtZTogIlBlcm1pc3Npb25zIEFQSSIKKyAgaHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uOiAiRW5hYmxlIFBlcm1pc3Npb25zIEFQSSIKKyAgZGVmYXVsdFZhbHVlOgorICAg
IFdlYktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAg
ZGVmYXVsdDogZmFsc2UKKyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnREZWJ1Z01vZGVFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGh1
bWFuUmVhZGFibGVOYW1lOiAiUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudCBEZWJ1ZyBNb2RlIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCBiYmI4NDJhNTM5YTEwODdjOWUxZGI0NjNkMDE5ZGQyYjEy
MzE0MmM5Li4wN2U1ZTA1NThmNmRkZDQxMWVjNGNmNTk2ZGUzNDNmNDgzYzA5NzdiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtNDgsNiArNDgsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0lOQ0xV
REVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9uYXZpZ2F0b3Jjb250
ZW50dXRpbHMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbm90aWZpY2F0aW9ucyIKICAg
ICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9wYXltZW50cmVxdWVzdCIKKyAgICAiJHtXRUJDT1JF
X0RJUn0vTW9kdWxlcy9wZXJtaXNzaW9ucyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9w
aWN0dXJlaW5waWN0dXJlIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3BsdWdpbnMiCiAg
ICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcmVtb3RlcGxheWJhY2siCkBAIC0yMDEsNiArMjAy
LDcgQEAgc2V0KFdlYkNvcmVfSURMX0lOQ0xVREVTCiAgICAgTW9kdWxlcy9tb2RlbC1lbGVtZW50
CiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zCiAgICAgTW9kdWxlcy9wYXltZW50cmVxdWVzdAor
ICAgIE1vZHVsZXMvcGVybWlzc2lvbnMKICAgICBNb2R1bGVzL3NwZWVjaAogICAgIE1vZHVsZXMv
c3RyZWFtcwogICAgIE1vZHVsZXMvd2ViYXVkaW8KQEAgLTQ2MCw2ICs0NjIsMTMgQEAgc2V0KFdl
YkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1l
bnRTaGlwcGluZ1R5cGUuaWRsCiAgICAgTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFs
aWRhdGlvbkVycm9ycy5pZGwKIAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Bl
cm1pc3Npb25zLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0
b3IuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwKKyAgICBN
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwKKyAgICBNb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9ucy5pZGwKKwogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudCtQaWN0
dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudE9y
U2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGljdHVyZWlucGlj
dHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDM5YjJiMzAwNGU0YzU3OTQzN2U2
NWFjYTk3MzI3Yzc4ZDRkNzQ1ZGUuLjUxMWI1MTMxMjAwYWJlYzgzYmU0OTA3YTdiZTQxOTIzYTYy
ZjM2OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0Lnhj
ZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdApAQCAtMzg4LDYgKzM4OCwxMiBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdUeXBlLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVycm9ycy5pZGwKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5p
ZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRs
CiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwK
KyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwK
KyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGljdHVyZUluUGlj
dHVyZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVu
dE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9waWN0dXJlaW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmlkbApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCAxOTY3
MWY3NTA2ZDZhNzkzNzRjNWVhNDVhYzc3MWZjN2YxYjc5NTJiLi45YjQ4NGFiYTQ4YzJjNWNmYzYw
YWNlZWVjMjkzZWJjYTljMzk3MWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTM3Nyw2ICsxMzc3LDggQEAgJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFEZXZpY2Vz
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZp
Z2F0b3IrTWVkaWFEZXZpY2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vzc2lvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vzc2lvbi5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitQ
ZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTmF2aWdhdG9yK1Blcm1pc3Npb25zLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dlYkRyaXZlci5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dlYkRyaXZlci5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRv
citXZWJYUi5jcHAKQEAgLTE1ODMsNiArMTU4NSwxNiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZUNvbnN0cmFpbnRzLmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2RpY1dhdmVD
b25zdHJhaW50cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uRGVzY3JpcHRvci5jcHAK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lv
bkRlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNQZXJtaXNzaW9uTmFtZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbk5hbWUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdGUuY3BwCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0ZS5oCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0
dXMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bl
cm1pc3Npb25TdGF0dXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNQZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5QaWN0dXJlV2lu
ZG93LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGxh
eWJhY2tEaXJlY3Rpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBkNjRl
NjVlODZlNWUxMTQyNjY3YTllMzgyNzY4M2E5NjkyZjI3YWYxLi5mOWVlNjQyOGJhMGE1NGQ1NGMw
MjU3YWE2ZDZhMDAwMWUyZTQyMWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAg
LTMyNCw2ICszMjQsMTIgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ1R5cGUuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFZhbGlkYXRpb25F
cnJvcnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9y
K1Blcm1pc3Npb25zLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25EZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25OYW1lLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0ZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BpY3R1cmVp
bnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGljdHVyZUluUGljdHVyZS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50K1BpY3R1cmVJblBp
Y3R1cmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9FbnRl
clBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
SGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggZWIwN2I4
MGM5OTMzZDY5YThjMzYzMTkxOGM3NWRiZTRlMzdhOTJiOC4uNzZjZTBjNjYxZmVlODMwZDE3NmUz
NjFmNTc5ODczNWM3YWUxZTBjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMjksNiArMTI5LDEy
IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBNb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbi5oCiAgICAgTW9kdWxlcy9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oCiAKKyAgICBNb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Np
b25OYW1lLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZlci5oCisg
ICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaAorCiAgICAgTW9kdWxlcy9w
bHVnaW5zL1BsdWdpblJlcGxhY2VtZW50LmgKICAgICBNb2R1bGVzL3BsdWdpbnMvWW91VHViZVBs
dWdpblJlcGxhY2VtZW50LmgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYw
YjEyN2U3ZjNhMWM1NjY2Y2QwZDBjODhmZTkxMWU5NmM4MzRmNjUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9u
cy5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1
Yi5pby9wZXJtaXNzaW9ucy8jbmF2aWdhdG9yLWFuZC13b3JrZXJuYXZpZ2F0b3ItZXh0ZW5zaW9u
CisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorICAgIEltcGxlbWVu
dGVkQnk9TmF2aWdhdG9yUGVybWlzc2lvbnMKK10gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9y
IHsKKyAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFBlcm1pc3Npb25zIHBlcm1p
c3Npb25zOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lv
bnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkxZjU1NTg4NmQ4
ZTcxYTM0OWVlNzViZjNjNDE2ZjAyZjFjNDdhYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwCkBAIC0w
LDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
TmF2aWdhdG9yUGVybWlzc2lvbnMuaCIKKworI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1
ZGUgIlBlcm1pc3Npb25zLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTmF2aWdhdG9yUGVy
bWlzc2lvbnM6Ok5hdmlnYXRvclBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9yKQorICAg
IDogbV9uYXZpZ2F0b3IobmF2aWdhdG9yKQoreworfQorCitSZWZQdHI8UGVybWlzc2lvbnM+IE5h
dmlnYXRvclBlcm1pc3Npb25zOjpwZXJtaXNzaW9ucyhOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sK
KyAgICByZXR1cm4gTmF2aWdhdG9yUGVybWlzc2lvbnM6OmZyb20obmF2aWdhdG9yKS0+cGVybWlz
c2lvbnMoKTsKK30KKworUmVmUHRyPFBlcm1pc3Npb25zPiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6
cGVybWlzc2lvbnMoKQoreworICAgIGlmICghbV9wZXJtaXNzaW9ucykKKyAgICAgICAgbV9wZXJt
aXNzaW9ucyA9IFBlcm1pc3Npb25zOjpjcmVhdGUobV9uYXZpZ2F0b3IpOworCisgICAgcmV0dXJu
IG1fcGVybWlzc2lvbnM7Cit9CisKK05hdmlnYXRvclBlcm1pc3Npb25zKiBOYXZpZ2F0b3JQZXJt
aXNzaW9uczo6ZnJvbShOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICBhdXRvKiBzdXBwbGVt
ZW50ID0gc3RhdGljX2Nhc3Q8TmF2aWdhdG9yUGVybWlzc2lvbnMqPihTdXBwbGVtZW50PE5hdmln
YXRvcj46OmZyb20oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSkpOworICAgIGlmICghc3Vw
cGxlbWVudCkgeworICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVlPE5hdmln
YXRvclBlcm1pc3Npb25zPihuYXZpZ2F0b3IpOworICAgICAgICBzdXBwbGVtZW50ID0gbmV3U3Vw
cGxlbWVudC5nZXQoKTsKKyAgICAgICAgcHJvdmlkZVRvKCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnRO
YW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOworICAgIH0KKworICAgIHJldHVybiBzdXBw
bGVtZW50OworfQorCitjb25zdCBjaGFyKiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6c3VwcGxlbWVu
dE5hbWUoKQoreworICAgIHJldHVybiAiTmF2aWdhdG9yUGVybWlzc2lvbnMiOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBhNzM5ZGE3
MTQ0MGM3YTMzYjIzMmNhZTk4MzUyMDE5ZmRhNDQ0YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaApAQCAt
MCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJTdXBw
bGVtZW50YWJsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmlnYXRvcjsK
K2NsYXNzIFBlcm1pc3Npb25zOworCitjbGFzcyBOYXZpZ2F0b3JQZXJtaXNzaW9ucyBmaW5hbCA6
IHB1YmxpYyBTdXBwbGVtZW50PE5hdmlnYXRvcj4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgorICAgIGV4cGxpY2l0IE5hdmlnYXRvclBlcm1pc3Npb25zKE5hdmlnYXRv
ciYpOworCisgICAgc3RhdGljIFJlZlB0cjxQZXJtaXNzaW9ucz4gcGVybWlzc2lvbnMoTmF2aWdh
dG9yJik7CisgICAgUmVmUHRyPFBlcm1pc3Npb25zPiBwZXJtaXNzaW9ucygpOworCitwcml2YXRl
OgorICAgIHN0YXRpYyBOYXZpZ2F0b3JQZXJtaXNzaW9ucyogZnJvbShOYXZpZ2F0b3ImKTsKKyAg
ICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKKworICAgIFJlZlB0cjxQZXJt
aXNzaW9ucz4gbV9wZXJtaXNzaW9uczsKKyAgICBOYXZpZ2F0b3ImIG1fbmF2aWdhdG9yOworfTsK
KworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uQ29udHJvbGxlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZhN2QzYWE2NGVmNjFlM2I0NWU1Yzk0
OTFlNmU5MzU1MTI1MzUzMWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgKQEAgLTAsMCArMSw1NSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXRlLmgi
CisjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CisjaW5jbHVkZSA8d3RmL1RocmVh
ZFNhZmVSZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVybWlz
c2lvbk9ic2VydmVyOworc3RydWN0IENsaWVudE9yaWdpbjsKK3N0cnVjdCBQZXJtaXNzaW9uRGVz
Y3JpcHRvcjsKKworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXIgOiBwdWJsaWMgVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQ8UGVybWlzc2lvbkNvbnRyb2xsZXI+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJtaXNzaW9uQ29udHJvbGxlcigpID0g
ZGVmYXVsdDsKKyAgICB2aXJ0dWFsIFBlcm1pc3Npb25TdGF0ZSBxdWVyeShDbGllbnRPcmlnaW4m
JiwgUGVybWlzc2lvbkRlc2NyaXB0b3ImJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0
KENsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFBlcm1pc3Npb25TdGF0ZSk+JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkT2Jz
ZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZW1vdmVP
YnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSA9IDA7Cit9OworCitjbGFzcyBEdW1teVBlcm1p
c3Npb25Db250cm9sbGVyIGZpbmFsIDogcHVibGljIFBlcm1pc3Npb25Db250cm9sbGVyIHsKKyAg
ICBQZXJtaXNzaW9uU3RhdGUgcXVlcnkoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlw
dG9yJiYpIGZpbmFsIHsgcmV0dXJuIFBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkOyB9CisgICAgdm9p
ZCByZXF1ZXN0KENsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFBlcm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpIGZp
bmFsIHsgY29tcGxldGlvbkhhbmRsZXIoUGVybWlzc2lvblN0YXRlOjpEZW5pZWQpOyB9CisgICAg
dm9pZCBhZGRPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSBmaW5hbCB7IH0KKyAgICB2b2lk
IHJlbW92ZU9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpIGZpbmFsIHsgfQorfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlODRiMmQ0
Yzc3YTk4ZTk1YjY2NDk4ZGM0ZDBiMzhhOTA4OWUxZTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKQEAg
LTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVy
bWlzc2lvbk5hbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUGVybWlzc2lv
bkRlc2NyaXB0b3IgeworICAgIFBlcm1pc3Npb25OYW1lIG5hbWU7CisKKyAgICBib29sIG9wZXJh
dG9yPT0oY29uc3QgUGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IpIGNvbnN0IHsgcmV0
dXJuIG5hbWUgPT0gZGVzY3JpcHRvci5uYW1lOyB9CisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rl
cj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29k
ZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFBlcm1pc3Npb25EZXNjcmlwdG9yPiBkZWNvZGUoRGVj
b2RlciYpOworfTsKKwordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gaW5saW5lIHZvaWQgUGVybWlz
c2lvbkRlc2NyaXB0b3I6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVu
Y29kZXIgPDwgbmFtZTsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RkOjpvcHRpb25h
bDxQZXJtaXNzaW9uRGVzY3JpcHRvcj4gUGVybWlzc2lvbkRlc2NyaXB0b3I6OmRlY29kZShEZWNv
ZGVyJiBkZWNvZGVyKQoreworICAgIFBlcm1pc3Npb25EZXNjcmlwdG9yIHJlc3VsdDsKKyAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5uYW1lKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bkRlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uRGVzY3JpcHRvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGYzNmEzMmEyY2NjZDMzOTkzOWI3ZGU4
MzVkZmVkYmJmNGY1N2NjOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEsMzIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2RpY3Rk
ZWYtcGVybWlzc2lvbmRlc2NyaXB0b3IKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlz
c2lvbnNBUEksCitdIGRpY3Rpb25hcnkgUGVybWlzc2lvbkRlc2NyaXB0b3IgeworICAgIHJlcXVp
cmVkIFBlcm1pc3Npb25OYW1lIG5hbWU7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMDllMTkwZjIy
NzU2ZWEyMTMwOTc1MDQyODNkNDkyNjNjN2M1NzEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmgKQEAgLTAsMCArMSw2
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2VudW0gY2xhc3MgUGVybWlzc2lvbk5hbWUgOiB1aW50OF90IHsKKyAgICBBY2NlbGVyb21ldGVy
LAorICAgIEJhY2tncm91bmRGZXRjaCwKKyAgICBCbHVldG9vdGgsCisgICAgQ2FtZXJhLAorICAg
IERpc3BsYXlDYXB0dXJlLAorICAgIEdlb2xvY2F0aW9uLAorICAgIEd5cm9zY29wZSwKKyAgICBN
YWduZXRvbWV0ZXIsCisgICAgTWljcm9waG9uZSwKKyAgICBNaWRpLAorICAgIE5mYywKKyAgICBO
b3RpZmljYXRpb25zLAorICAgIFNwZWFrZXJTZWxlY3Rpb24KK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFp
dHM8V2ViQ29yZTo6UGVybWlzc2lvbk5hbWU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFs
dWVzPAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZSwKKyAgICAgICAgV2ViQ29yZTo6
UGVybWlzc2lvbk5hbWU6OkFjY2VsZXJvbWV0ZXIsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Np
b25OYW1lOjpCYWNrZ3JvdW5kRmV0Y2gsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1l
OjpCbHVldG9vdGgsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpDYW1lcmEsCisg
ICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpEaXNwbGF5Q2FwdHVyZSwKKyAgICAgICAg
V2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Okdlb2xvY2F0aW9uLAorICAgICAgICBXZWJDb3JlOjpQ
ZXJtaXNzaW9uTmFtZTo6R3lyb3Njb3BlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFt
ZTo6TWFnbmV0b21ldGVyLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6TWljcm9w
aG9uZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok1pZGksCisgICAgICAgIFdl
YkNvcmU6OlBlcm1pc3Npb25OYW1lOjpOZmMsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25O
YW1lOjpOb3RpZmljYXRpb25zLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6U3Bl
YWtlclNlbGVjdGlvbgorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZWQ4YmUwZmQ3NWMyY2NiN2Q4YWY5ZTliOTY2MTczZWY2MTg3ZDg2YwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvbk5hbWUuaWRsCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3cz
Yy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1kZWYtcGVybWlzc2lvbm5hbWUKKworWworICAg
IEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCitdIGVudW0gUGVybWlzc2lvbk5hbWUg
eworICAgIC8vIEZJWE1FOiB1cGRhdGUgdGhlIGxpc3QgdG8gbWF0Y2ggc3BlYyB3aGVuIG5ldyBm
ZWF0dXJlcyBhcmUgaW1wbGVtZW50ZWQuCisgICAgImFjY2VsZXJvbWV0ZXIiLAorICAgICJiYWNr
Z3JvdW5kLWZldGNoIiwKKyAgICAiYmx1ZXRvb3RoIiwKKyAgICAiY2FtZXJhIiwKKyAgICAiZGlz
cGxheS1jYXB0dXJlIiwKKyAgICAiZ2VvbG9jYXRpb24iLAorICAgICJneXJvc2NvcGUiLAorICAg
ICJtYWduZXRvbWV0ZXIiLAorICAgICJtaWNyb3Bob25lIiwKKyAgICAibWlkaSIsCisgICAgIm5m
YyIsCisgICAgIm5vdGlmaWNhdGlvbnMiLAorICAgICJzcGVha2VyLXNlbGVjdGlvbiIKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25P
YnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
T2JzZXJ2ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTdkNmRhNTkxZDdkNjRhYmVhYjhjYmNiYTYzYmMxYTFm
MjViMGE4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uT2JzZXJ2ZXIuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdGUuaCIKKyNpbmNsdWRlIDx3
dGYvV2Vha1B0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBDbGllbnRPcmln
aW47CitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7CisKK2NsYXNzIFBlcm1pc3Npb25PYnNl
cnZlciA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQZXJtaXNzaW9uT2JzZXJ2ZXI+IHsKK3B1Ymxp
YzoKKyAgICB2aXJ0dWFsIH5QZXJtaXNzaW9uT2JzZXJ2ZXIoKSA9IGRlZmF1bHQ7CisKKyAgICB2
aXJ0dWFsIHZvaWQgc3RhdGVDaGFuZ2VkKFBlcm1pc3Npb25TdGF0ZSkgPSAwOworICAgIHZpcnR1
YWwgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4oKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBj
b25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNvbnN0ID0gMDsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjYWRmNTIwMWUwYzM3
YjMwZjRiNzJlYTA4MDQwODU4NGI4ODg0ODQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCkBAIC0wLDAgKzEsNTEg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRz
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBQZXJtaXNzaW9uU3RhdGUg
OiB1aW50OF90IHsKKyAgICBHcmFudGVkLAorICAgIERlbmllZCwKKyAgICBQcm9tcHQKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4g
c3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6UGVybWlzc2lvblN0YXRlPiB7CisgICAgdXNpbmcg
dmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlLAor
ICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkdyYW50ZWQsCisgICAgICAgIFdlYkNv
cmU6OlBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9u
U3RhdGU6OlByb21wdAorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43NTc3OTc4MTJkMTk4NjllZjNlNTFhMmRiOWVhOGE3YWYxNjhhYzliCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uU3RhdGUuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczov
L3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1kZWYtcGVybWlzc2lvbnN0YXRlCisKK1sK
KyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBlbnVtIFBlcm1pc3Npb25T
dGF0ZSB7CisgICAgImdyYW50ZWQiLAorICAgICJkZW5pZWQiLAorICAgICJwcm9tcHQiCit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
U3RhdHVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
blN0YXR1cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjRhZjc5ODE3NDk2NmY5MmRkNzhiZTVkN2U3NDdlYzE2
Y2RlZDM4NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKQEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdHVzLmgiCisKKyNp
bmNsdWRlICJDbGllbnRPcmlnaW4uaCIKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVk
ZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSA8
d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFL
RV9JU09fQUxMT0NBVEVEX0lNUEwoUGVybWlzc2lvblN0YXR1cyk7CisKK1JlZjxQZXJtaXNzaW9u
U3RhdHVzPiBQZXJtaXNzaW9uU3RhdHVzOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgUGVybWlzc2lvblN0YXRlIHN0YXRlLCBQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNj
cmlwdG9yKQoreworICAgIGF1dG8gc3RhdHVzID0gYWRvcHRSZWYoKm5ldyBQZXJtaXNzaW9uU3Rh
dHVzKGNvbnRleHQsIHN0YXRlLCBkZXNjcmlwdG9yKSk7CisgICAgc3RhdHVzLT5zdXNwZW5kSWZO
ZWVkZWQoKTsKKyAgICByZXR1cm4gc3RhdHVzOworfQorCitQZXJtaXNzaW9uU3RhdHVzOjpQZXJt
aXNzaW9uU3RhdHVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFBlcm1pc3Npb25T
dGF0ZSBzdGF0ZSwgUGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikKKyAgICA6IEFjdGl2
ZURPTU9iamVjdCgmY29udGV4dCkKKyAgICAsIG1fc3RhdGUoc3RhdGUpCisgICAgLCBtX2Rlc2Ny
aXB0b3IoZGVzY3JpcHRvcikKKyAgICAsIG1fY29udHJvbGxlcihjb250ZXh0LnBlcm1pc3Npb25D
b250cm9sbGVyKCkpCit7CisgICAgYXV0byogb3JpZ2luID0gY29udGV4dC5zZWN1cml0eU9yaWdp
bigpOworICAgIGF1dG8gb3JpZ2luRGF0YSA9IG9yaWdpbiA/IG9yaWdpbi0+ZGF0YSgpIDogU2Vj
dXJpdHlPcmlnaW5EYXRhIHsgfTsKKyAgICBtX29yaWdpbiA9IENsaWVudE9yaWdpbiB7IGNvbnRl
eHQudG9wT3JpZ2luKCkuZGF0YSgpLCBvcmlnaW5EYXRhIH07Cit9CisKK1Blcm1pc3Npb25TdGF0
dXM6On5QZXJtaXNzaW9uU3RhdHVzKCkKK3sKKyAgICBpZiAobV9jb250cm9sbGVyKQorICAgICAg
ICBtX2NvbnRyb2xsZXItPnJlbW92ZU9ic2VydmVyKCp0aGlzKTsKK30KKwordm9pZCBQZXJtaXNz
aW9uU3RhdHVzOjpzdGF0ZUNoYW5nZWQoUGVybWlzc2lvblN0YXRlIG5ld1N0YXRlKQoreworICAg
IGlmIChtX3N0YXRlID09IG5ld1N0YXRlKQorICAgICAgICByZXR1cm47CisKKyAgICBxdWV1ZVRh
c2tUb0Rpc3BhdGNoRXZlbnQoKnRoaXMsIFRhc2tTb3VyY2U6OlBlcm1pc3Npb24sIEV2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZl
bnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICBtX2hhc1BlbmRpbmdBY3Rpdml0eSA9IHRydWU7
Cit9CisKK2NvbnN0IGNoYXIqIFBlcm1pc3Npb25TdGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUo
KSBjb25zdAoreworICAgIHJldHVybiAiUGVybWlzc2lvblN0YXR1cyI7Cit9CisKK2Jvb2wgUGVy
bWlzc2lvblN0YXR1czo6dmlydHVhbEhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIGhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCkgfHwgbV9o
YXNQZW5kaW5nQWN0aXZpdHk7Cit9CisKK3ZvaWQgUGVybWlzc2lvblN0YXR1czo6ZGlzcGF0Y2hF
dmVudChFdmVudCYgZXZlbnQpCit7CisgICAgaWYgKG1faGFzUGVuZGluZ0FjdGl2aXR5ICYmIGV2
ZW50LmlzVHJ1c3RlZCgpKQorICAgICAgICBtX2hhc1BlbmRpbmdBY3Rpdml0eSA9IGZhbHNlOwor
CisgICAgRXZlbnRUYXJnZXQ6OmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0dXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvblN0YXR1cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4YjU5Mzk1MmQ3ZjQwOTc0M2YzOWI2
NWIyNWU5OWM1NDUyNzA5ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaApAQCAtMCwwICsxLDgyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKKyNp
bmNsdWRlICJDbGllbnRPcmlnaW4uaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1
ZGUgIlBlcm1pc3Npb25EZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbk5hbWUuaCIK
KyNpbmNsdWRlICJQZXJtaXNzaW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3Rh
dGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQZXJtaXNzaW9uQ29udHJvbGxl
cjsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIFBlcm1pc3Npb25TdGF0
dXMgZmluYWwgOiBwdWJsaWMgUGVybWlzc2lvbk9ic2VydmVyLCBwdWJsaWMgQWN0aXZlRE9NT2Jq
ZWN0LCBwdWJsaWMgUmVmQ291bnRlZDxQZXJtaXNzaW9uU3RhdHVzPiwgcHVibGljIEV2ZW50VGFy
Z2V0V2l0aElubGluZURhdGEgIHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFBlcm1pc3Np
b25TdGF0dXMpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UGVybWlzc2lvblN0YXR1cz4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBQZXJtaXNzaW9uU3RhdGUsIFBlcm1pc3Npb25E
ZXNjcmlwdG9yKTsKKyAgICB+UGVybWlzc2lvblN0YXR1cygpOworCisgICAgUGVybWlzc2lvblN0
YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZTsgfQorICAgIFBlcm1pc3Npb25OYW1l
IG5hbWUoKSBjb25zdCB7IHJldHVybiBtX2Rlc2NyaXB0b3IubmFtZTsgfQorCisgICAgdXNpbmcg
UmVmQ291bnRlZDo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOworCisgICAgdXNp
bmcgUGVybWlzc2lvbk9ic2VydmVyOjp3ZWFrUHRyRmFjdG9yeTsKKyAgICB1c2luZyBXZWFrVmFs
dWVUeXBlID0gUGVybWlzc2lvbk9ic2VydmVyOjpXZWFrVmFsdWVUeXBlOworCitwcml2YXRlOgor
ICAgIFBlcm1pc3Npb25TdGF0dXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFBlcm1pc3Npb25T
dGF0ZSwgUGVybWlzc2lvbkRlc2NyaXB0b3IpOworCisgICAgLy8gUGVybWlzc2lvbk9ic2VydmVy
CisgICAgdm9pZCBzdGF0ZUNoYW5nZWQoUGVybWlzc2lvblN0YXRlKSBmaW5hbDsKKyAgICBjb25z
dCBDbGllbnRPcmlnaW4mIG9yaWdpbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fb3JpZ2luOyB9
CisgICAgY29uc3QgUGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBtX2Rlc2NyaXB0b3I7IH0KKworICAgIC8vIEFjdGl2ZURPTU9iamVjdAorICAg
IGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKKyAgICBib29s
IHZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBmaW5hbDsKKworICAgIC8vIEV2ZW50
VGFyZ2V0CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpOyB9CisgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZh
Y2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiBQZXJtaXNzaW9uU3RhdHVzRXZlbnRUYXJnZXRJbnRl
cmZhY2VUeXBlOyB9CisgICAgdm9pZCByZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVmKCk7IH0K
KyAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KKyAgICB2b2lk
IGRpc3BhdGNoRXZlbnQoRXZlbnQmKSBvdmVycmlkZTsKKworICAgIFBlcm1pc3Npb25TdGF0ZSBt
X3N0YXRlOworICAgIFBlcm1pc3Npb25EZXNjcmlwdG9yIG1fZGVzY3JpcHRvcjsKKyAgICBDbGll
bnRPcmlnaW4gbV9vcmlnaW47CisgICAgUmVmUHRyPFBlcm1pc3Npb25Db250cm9sbGVyPiBtX2Nv
bnRyb2xsZXI7CisgICAgYm9vbCBtX2hhc1BlbmRpbmdBY3Rpdml0eSB7IGZhbHNlIH07Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjc4MTQy
ZTY5OWUyMGU2YmU4NmNjNWNlMjA1NmQxZGViNjkyZWQwCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbApAQCAt
MCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKyAKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJt
aXNzaW9ucy8jcGVybWlzc2lvbnN0YXR1cworCitbCisgICAgQWN0aXZlRE9NT2JqZWN0LAorICAg
IEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCisgICAgRXhwb3NlZD0oV2luZG93LFdv
cmtlcikKK10gaW50ZXJmYWNlIFBlcm1pc3Npb25TdGF0dXMgOiBFdmVudFRhcmdldCB7CisgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZTsKKyAgICByZWFkb25seSBh
dHRyaWJ1dGUgUGVybWlzc2lvbk5hbWUgbmFtZTsKKyAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVy
IG9uY2hhbmdlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9ucy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmFkMzRjOTRhYjM0NzcyYzdlYjY2NjcyZGEy
YzA4NjZkMThiOTM4OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvbnMuY3BwCkBAIC0wLDAgKzEsOTQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbnMuaCIKKworI2luY2x1
ZGUgIkV4Y2VwdGlvbi5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNET01Qcm9t
aXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJKU1Blcm1pc3Npb25EZXNjcmlwdG9yLmgiCisjaW5j
bHVkZSAiSlNQZXJtaXNzaW9uU3RhdHVzLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5j
bHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCisjaW5jbHVk
ZSAiUGVybWlzc2lvbkRlc2NyaXB0b3IuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5l
cy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1Q
TChQZXJtaXNzaW9ucyk7CisKK1JlZjxQZXJtaXNzaW9ucz4gUGVybWlzc2lvbnM6OmNyZWF0ZShO
YXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJtaXNz
aW9ucyhuYXZpZ2F0b3IpKTsKK30KKworUGVybWlzc2lvbnM6OlBlcm1pc3Npb25zKE5hdmlnYXRv
ciYgbmF2aWdhdG9yKQorICAgIDogbV9uYXZpZ2F0b3IobWFrZVdlYWtQdHIobmF2aWdhdG9yKSkK
K3sKKyAgICBpZiAoYXV0byBjb250ZXh0ID0gbmF2aWdhdG9yLnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSkKKyAgICAgICAgbV9jb250cm9sbGVyID0gY29udGV4dC0+cGVybWlzc2lvbkNvbnRyb2xs
ZXIoKTsKK30KKworTmF2aWdhdG9yKiBQZXJtaXNzaW9uczo6bmF2aWdhdG9yKCkKK3sKKyAgICBy
ZXR1cm4gbV9uYXZpZ2F0b3IuZ2V0KCk7Cit9CisKK3ZvaWQgUGVybWlzc2lvbnM6OnF1ZXJ5KEpT
Qzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+IHBlcm1pc3Npb25EZXNjcmlwdG9yVmFsdWUsIERPTVBy
b21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8UGVybWlzc2lvblN0YXR1cz4+JiYgcHJvbWlzZSkK
K3sKKyAgICAvLyBGSVhNRTogc3VwcG9ydCBwZXJtaXNzaW9ucyBpbiBXb3JrZXJOYXZpZ2F0b3Iu
CisgICAgaWYgKCFtX2NvbnRyb2xsZXIpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0
aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBhdXRvIGNvbnRleHQgPSBtX25hdmlnYXRvciA/IG1fbmF2aWdhdG9yLT5zY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkgOiBudWxscHRyOworICAgIGlmICghY29udGV4dCB8fCAhY29udGV4dC0+Z2xv
YmFsT2JqZWN0KCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxp
ZFN0YXRlRXJyb3IsICJUaGUgY29udGV4dCBpcyBpbnZhbGlkIiB9KTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGlmICghcGVybWlzc2lvbkRlc2NyaXB0b3JWYWx1ZSkgeworICAgICAg
ICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBEYXRhRXJyb3IsICJUaGUgcGFyYW1ldGVyIGlz
IGludmFsaWQiX3MgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBKU0M6OlZNJiB2
bSA9IGNvbnRleHQtPmdsb2JhbE9iamVjdCgpLT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNM
QVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBhdXRvIHBhcmFtZXRlckRlc2NyaXB0b3IgPSBjb252
ZXJ0PElETERpY3Rpb25hcnk8UGVybWlzc2lvbkRlc2NyaXB0b3I+PigqY29udGV4dC0+Z2xvYmFs
T2JqZWN0KCksIHBlcm1pc3Npb25EZXNjcmlwdG9yVmFsdWUuZ2V0KCkpOworICAgIGlmIChVTkxJ
S0VMWShzY29wZS5leGNlcHRpb24oKSkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0
aW9uIHsgRXhpc3RpbmdFeGNlcHRpb25FcnJvciB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGF1dG8qIG9yaWdpbiA9IGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCk7CisgICAgYXV0
byBvcmlnaW5EYXRhID0gb3JpZ2luID8gb3JpZ2luLT5kYXRhKCkgOiBTZWN1cml0eU9yaWdpbkRh
dGEgeyB9OworICAgIGF1dG8gcGVybWlzc2lvblN0YXRlID0gbV9jb250cm9sbGVyLT5xdWVyeShD
bGllbnRPcmlnaW4geyBjb250ZXh0LT50b3BPcmlnaW4oKS5kYXRhKCksIG9yaWdpbkRhdGEgfSwg
UGVybWlzc2lvbkRlc2NyaXB0b3IgeyBwYXJhbWV0ZXJEZXNjcmlwdG9yIH0pOworICAgIHByb21p
c2UucmVzb2x2ZShQZXJtaXNzaW9uU3RhdHVzOjpjcmVhdGUoKmNvbnRleHQsIHBlcm1pc3Npb25T
dGF0ZSwgcGFyYW1ldGVyRGVzY3JpcHRvcikpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Np
b25zLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2EzOGZmMzQ4ZmU0NjkzZjAyMDg0OTkyMWY1ZGE5NDY0MjE4ZjEwMwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvbnMuaApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlICJJRExUeXBlcy5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0cm9uZy5oPgor
I2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCitu
YW1lc3BhY2UgSlNDIHsKK2NsYXNzIEpTT2JqZWN0OworfSAvLyBuYW1lc3BhY2UgSlNDCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yOworY2xhc3MgUGVybWlzc2lvbkNv
bnRyb2xsZXI7CitjbGFzcyBQZXJtaXNzaW9uU3RhdHVzOworCit0ZW1wbGF0ZTx0eXBlbmFtZSBJ
RExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKK2NsYXNzIFBlcm1pc3Npb25zIGZp
bmFsIDogcHVibGljIFJlZkNvdW50ZWQ8UGVybWlzc2lvbnM+IHsKKyAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKFBlcm1pc3Npb25zKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBlcm1pc3Np
b25zPiBjcmVhdGUoTmF2aWdhdG9yJik7CisKKyAgICBOYXZpZ2F0b3IqIG5hdmlnYXRvcigpOwor
ICAgIHZvaWQgcXVlcnkoSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4sIERPTVByb21pc2VEZWZl
cnJlZDxJRExJbnRlcmZhY2U8UGVybWlzc2lvblN0YXR1cz4+JiYpOworCitwcml2YXRlOgorICAg
IGV4cGxpY2l0IFBlcm1pc3Npb25zKE5hdmlnYXRvciYpOworCisgICAgV2Vha1B0cjxOYXZpZ2F0
b3I+IG1fbmF2aWdhdG9yOworICAgIFJlZlB0cjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gbV9jb250
cm9sbGVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjhh
YTYxMmE1MDdiMzgwNTQwYTY3MGJlNjQ1YWI2NmVmNDM4MWRkCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwKQEAgLTAs
MCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNz
aW9ucy8jcGVybWlzc2lvbnMtaW50ZXJmYWNlCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBl
cm1pc3Npb25zQVBJLAorICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9UmVhY2hhYmxlRnJvbU5hdmln
YXRvciwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEV4cG9zZWQ9KFdpbmRv
dyxXb3JrZXIpCitdIGludGVyZmFjZSBQZXJtaXNzaW9ucyB7CisgICAgUHJvbWlzZTxQZXJtaXNz
aW9uU3RhdHVzPiBxdWVyeShvYmplY3QgcGVybWlzc2lvbkRlc2MpOworfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
aW5kZXggNmQ1OWRjM2ZkODc4NGFjMzU3NjBhZGRmNWQ5MjA1OGQyNTg0ZDA3Yi4uODkxMDU0OTcz
MTlhNmIwNGUxOGZlNTJlNDUxZWQ0ZWU5YTRmMTUyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTIwMyw2
ICsyMDMsOSBAQCBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcAogTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNwcAogTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFV0aWxpdGllcy5jcHAKIE1vZHVsZXMvcGF5
bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmNwcAorTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZp
Z2F0b3JQZXJtaXNzaW9ucy5jcHAKK01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1
cy5jcHAKK01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuY3BwCiBNb2R1bGVzL3BpY3R1
cmVpbnBpY3R1cmUvRG9jdW1lbnRQaWN0dXJlSW5QaWN0dXJlLmNwcAogTW9kdWxlcy9waWN0dXJl
aW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmNwcAogTW9kdWxlcy9waWN0dXJl
aW5waWN0dXJlL0hUTUxWaWRlb0VsZW1lbnRQaWN0dXJlSW5QaWN0dXJlLmNwcApAQCAtMzI3Miw2
ICszMjc1LDExIEBAIEpTUGVyZm9ybWFuY2VUaW1pbmcuY3BwCiBKU1BlcmlvZGljV2F2ZS5jcHAK
IEpTUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuY3BwCiBKU1BlcmlvZGljV2F2ZU9wdGlvbnMuY3Bw
CitKU1Blcm1pc3Npb25EZXNjcmlwdG9yLmNwcAorSlNQZXJtaXNzaW9uTmFtZS5jcHAKK0pTUGVy
bWlzc2lvblN0YXRlLmNwcAorSlNQZXJtaXNzaW9uU3RhdHVzLmNwcAorSlNQZXJtaXNzaW9ucy5j
cHAKIEpTUGljdHVyZUluUGljdHVyZVdpbmRvdy5jcHAKIEpTUGxheWJhY2tEaXJlY3Rpb24uY3Bw
CiBKU1BvaW50ZXJFdmVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkMGFhMGU4ZDJiOWI5MTA3M2I5ODNhNjhjZjU5Zjdl
NjZhMmE1Mzc1Li4zNmFkZWVkNDlkMTBmODdhNjE4MWQ4MzI4M2ViODc2NDg0OGFkZGRmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0yODgwLDYgKzI4ODAsMTQgQEAKIAkJOTNBODA2MTcxRTAzQjUxQzAwOEExRjI2IC8qIExvbmdS
YW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNB
ODA2MTMxRTAzQjUxQzAwOEExRjI2IC8qIExvbmdSYW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzQTgwNjFFMUUwM0I1ODUwMDhBMUYyNiAv
KiBKU0RvdWJsZVJhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5M0E4MDYxQTFFMDNCNTg1MDA4QTFGMjYgLyogSlNEb3VibGVSYW5nZS5oICovOyB9
OwogCQk5M0E4MDYyMDFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTgwNjFDMUUwM0I1ODUwMDhB
MUYyNiAvKiBKU0xvbmdSYW5nZS5oICovOyB9OworCQk5M0IwQTY1MzI2Q0REMTQxMDBBQTIxRTQg
LyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzQjBBNjRBMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJt
aXNzaW9ucy5oICovOyB9OworCQk5M0IwQTY1NDI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lv
bnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBB
NjRCMjZDREQxM0UwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oICovOyB9OworCQk5M0IwQTY1NjI2
Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBl
cm1pc3Npb25TdGF0dXMuaCAqLzsgfTsKKwkJOTNCMEE2NTcyNkNERDE0MTAwQUEyMUU0IC8qIFBl
cm1pc3Npb25EZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5M0IwQTY0RTI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0
b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5
M0IwQTY1OTI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjUwMjZDREQxNDAwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uTmFtZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTkzQjBBNjVCMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3Rh
dGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBB
NjUyMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5M0IwQTY3MDI2RDRCNTM5MDBBQTIx
RTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjY5MjZENDRCN0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTkzQjBBNjdBMjZENkE0RTkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjZGMjZE
NEI1MjkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0IyRDgxNjBGOTkyMEQyMDA2QUU2QjIg
LyogU3VkZGVuVGVybWluYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzQjJEODE1MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlv
bi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkz
QjM4RUMzMjU4MjFEQjQwMDE5OEU2MyAvKiBXZWJTcGVlY2hSZWNvZ25pemVyVGFzay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMzhFQkEyNTgyMTkz
QjAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNrLmggKi87IH07CiAJCTkzQjM4RUM0
MjU4MjFEQjcwMDE5OEU2MyAvKiBXZWJTcGVlY2hSZWNvZ25pemVyVGFza01vY2suaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjM4RUJCMjU4MjE5M0Qw
MDE5OEU2MyAvKiBXZWJTcGVlY2hSZWNvZ25pemVyVGFza01vY2suaCAqLzsgfTsKQEAgLTExNzAx
LDYgKzExNzA5LDIzIEBACiAJCTkzQTgwNjFBMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJh
bmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRG91YmxlUmFuZ2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNBODA2MUIxRTAzQjU4NTAwOEExRjI2IC8q
IEpTTG9uZ1JhbmdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
TG9uZ1JhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNBODA2MUMxRTAz
QjU4NTAwOEExRjI2IC8qIEpTTG9uZ1JhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTTG9uZ1JhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBB
NjQ0MjZDREM1QjYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTkzQjBBNjQ1MjZDREM1QjYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0NjI2Q0RDNUI3MDBBQTIxRTQgLyogUGVybWlz
c2lvbk5hbWUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcm1pc3Npb25OYW1lLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDcyNkNEQzVCNzAwQUEyMUU0IC8q
IE5hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIk5hdmln
YXRvcitQZXJtaXNzaW9ucy5pZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0Iw
QTY0ODI2Q0RDNUI3MDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFBlcm1pc3Npb25zLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNC
MEE2NDkyNkNEQzVCODAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0dXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk5M0IwQTY0QTI2Q0REMTNFMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdG9yUGVybWlzc2lvbnMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEIyNkNERDEzRTAwQUEyMUU0
IC8qIFBlcm1pc3Npb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1p
c3Npb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRDMjZDREQxM0Uw
MEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTkzQjBBNjREMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3Rh
dHVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0dXMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEUyNkNERDEzRjAwQUEyMUU0
IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFBlcm1pc3Npb25EZXNjcmlwdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTkzQjBBNjRGMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0dXMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MDI2Q0REMTQwMDBBQTIxRTQgLyogUGVy
bWlzc2lvbk5hbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lv
bk5hbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NTEyNkNERDE0MDAw
QUEyMUU0IC8qIFBlcm1pc3Npb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFBlcm1pc3Npb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNC
MEE2NTIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTNCMEE2NjkyNkQ0NEI3RjAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9s
bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjZGMjZENEI1MjkwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
T2JzZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbk9ic2VydmVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjJEODE1MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5U
ZXJtaW5hdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdWRkZW5UZXJt
aW5hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IyRDgxNzBGOTkyMEVF
MDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBTdWRkZW5UZXJtaW5hdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTNCMzhFQjgyNTgyMTg5OTAwMTk4RTYzIC8qIFNwZWVjaFJlY29nbml6ZXJD
b2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNwZWVjaFJl
Y29nbml6ZXJDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIzMTg1LDYg
KzIzMjEwLDMwIEBACiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
IAkJfTsKKwkJOTNCMEE2NDIyNkNEQzU3NDAwQUEyMUU0IC8qIHBlcm1pc3Npb25zICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk5M0IwQTY0NzI2Q0RDNUI3
MDBBQTIxRTQgLyogTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbCAqLywKKwkJCQk5M0IwQTY0QzI2
Q0REMTNFMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwICovLAorCQkJCTkzQjBB
NjRBMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oICovLAorCQkJCTkz
QjBBNjY5MjZENDRCN0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5oICovLAorCQkJ
CTkzQjBBNjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oICovLAor
CQkJCTkzQjBBNjQ1MjZDREM1QjYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwg
Ki8sCisJCQkJOTNCMEE2NTAyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmggKi8s
CisJCQkJOTNCMEE2NDYyNkNEQzVCNzAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmlkbCAqLywK
KwkJCQk5M0IwQTY2RjI2RDRCNTI5MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggKi8s
CisJCQkJOTNCMEE2NTEyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmNwcCAqLywKKwkJ
CQk5M0IwQTY0QjI2Q0REMTNFMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCAqLywKKwkJCQk5M0Iw
QTY0ODI2Q0RDNUI3MDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaWRsICovLAorCQkJCTkzQjBBNjUy
MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCAqLywKKwkJCQk5M0IwQTY0NDI2
Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmlkbCAqLywKKwkJCQk5M0IwQTY0RjI2
Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5jcHAgKi8sCisJCQkJOTNCMEE2NEQy
NkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCAqLywKKwkJCQk5M0IwQTY0OTI2
Q0RDNUI4MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5pZGwgKi8sCisJCQkpOworCQkJcGF0
aCA9IHBlcm1pc3Npb25zOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJOTNC
MzhFQjYyNTgyMTgzMzAwMTk4RTYzIC8qIGNvY29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7
CiAJCQljaGlsZHJlbiA9ICgKQEAgLTIzNzkwLDYgKzIzODM5LDcgQEAKIAkJCQk3MUQ2QUEzOTFE
QTRFQUY3MDBCMjM5NjkgLyogbW9kZXJuLW1lZGlhLWNvbnRyb2xzICovLAogCQkJCTMzM0Y3MDNE
MEZCNDlDMTYwMDhFMTJBNiAvKiBub3RpZmljYXRpb25zICovLAogCQkJCUExRjc2QjBFMUY0NEMw
Q0YwMDE0QzMxOCAvKiBwYXltZW50cmVxdWVzdCAqLywKKwkJCQk5M0IwQTY0MjI2Q0RDNTc0MDBB
QTIxRTQgLyogcGVybWlzc2lvbnMgKi8sCiAJCQkJMURFRjA2QTIyMzNDMzJEQjAwRUUyMjhEIC8q
IHBpY3R1cmVpbnBpY3R1cmUgKi8sCiAJCQkJMDcyQUUxREUxODNDMDUxMzAwMEE1OTg4IC8qIHBs
dWdpbnMgKi8sCiAJCQkJQ0RDMzEyRTAyMkZDRDBCMDAwMTIwNEVDIC8qIHJlbW90ZXBsYXliYWNr
ICovLApAQCAtMzM3NTcsNiArMzM4MDcsNyBAQAogCQkJCTZCNTA3QTI0MjM0QkYzNDEwMEJFN0M2
MiAvKiBOYXZpZ2F0b3JJc0xvZ2dlZEluLmggaW4gSGVhZGVycyAqLywKIAkJCQk1RUE3MjVENjFB
Q0FCRDU3MDBFQUQxN0IgLyogTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmggaW4gSGVhZGVycyAqLywK
IAkJCQkwNzdCQTU3MjI2MEZBMDE0MDA3MkYxOUYgLyogTmF2aWdhdG9yTWVkaWFTZXNzaW9uLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1MzI2Q0REMTQxMDBBQTIxRTQgLyogTmF2aWdhdG9y
UGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk5NkU1OURGMURGMDEyOEQwMDY2MTJC
OSAvKiBOYXZpZ2F0b3JXZWJEcml2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUU4Qjc4MjQx
MzE5MUYwMEU3OTRENiAvKiBOYXZpZ2F0b3JXZWJYUi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEEz
MDlDOUYxMjM5NTBCRTAwQ0I5MjA0IC8qIE5lc3RpbmdMZXZlbEluY3JlbWVudGVyLmggaW4gSGVh
ZGVycyAqLywKQEAgLTMzOTU2LDYgKzM0MDA3LDEzIEBACiAJCQkJRkQ1ODFGQjUxNTIwRjkzQjAw
M0E3QTc1IC8qIFBlcmlvZGljV2F2ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTc1NUU4OTIyNEM3
NDM0QjAwOUY3QzIzIC8qIFBlcmlvZGljV2F2ZUNvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFNzU1RTg5OTI0Qzc0NjFEMDA5RjdDMjMgLyogUGVyaW9kaWNXYXZlT3B0aW9ucy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NzAyNkQ0QjUzOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25D
b250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1NzI2Q0REMTQxMDBBQTIxRTQg
LyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjU5MjZD
REQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNC
MEE2N0EyNkQ2QTRFOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJOTNCMEE2NTQyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk5M0IwQTY1QjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRl
LmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1NjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlz
c2lvblN0YXR1cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlENURDMkUwRjQyM0E3MzAwOEYyMEZE
IC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
REJDMUI1NjIzNDdCM0QyMDBCOTAxQUYgLyogUGljdHVyZUluUGljdHVyZU9ic2VydmVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxRDJDODJCNzIzNkEzRjZBMDA1NUQ2QzUgLyogUGljdHVyZUluUGlj
dHVyZVN1cHBvcnQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IGYxODFjNzk2ZDY1MGNjODZmZTNmMDhh
NzIwMDdhNmVkYzJlZmJjNzguLjg1MWEyMTRjOWE0ODdmZjY4ZDE2YmU3ZGQ4ZmJiNTIwODg3ZWI5
MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGlu
TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5h
bWVzLmgKQEAgLTE1NCw2ICsxNTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8o
TW9ja1JUQ1J0cFRyYW5zZm9ybSkgXAogICAgIG1hY3JvKE5hdmlnYXRvckNyZWRlbnRpYWxzKSBc
CiAgICAgbWFjcm8oTmF2aWdhdG9yTWVkaWFEZXZpY2VzKSBcCisgICAgbWFjcm8oTmF2aWdhdG9y
UGVybWlzc2lvbnMpIFwKICAgICBtYWNybyhOYXZpZ2F0b3JVc2VyTWVkaWEpIFwKICAgICBtYWNy
byhPZmZsaW5lQXVkaW9Db250ZXh0KSBcCiAgICAgbWFjcm8oT2Zmc2NyZWVuQ2FudmFzKSBcCkBA
IC0xODIsNiArMTgzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1h
bmNlUGFpbnRUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKSBc
CiAgICAgbWFjcm8oUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcpIFwKKyAgICBtYWNybyhQZXJtaXNz
aW9uRGVzY3JpcHRvcikgXAorICAgIG1hY3JvKFBlcm1pc3Npb25TdGF0dXMpIFwKKyAgICBtYWNy
byhQZXJtaXNzaW9ucykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXAogICAgIG1hY3JvKFB1
YmxpY0tleUNyZWRlbnRpYWwpIFwKICAgICBtYWNybyhSZXNpemVPYnNlcnZlcikgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKaW5kZXggNjVjZmJmOGI3OTVkNjNkM2M5OTlkMDFkOWIzODRiMjA1MDA5
ZDQ2NC4uNDU0MTU2YWM5ZWZhNzUyMjI1Y2NiMWE5YzRkZjM2ZDFiNzVkMzk4YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCkBAIC0zNTU0LDYgKzM1NTQsMTEgQEAgSURCQ2xpZW50OjpJREJDb25u
ZWN0aW9uUHJveHkqIERvY3VtZW50OjppZGJDb25uZWN0aW9uUHJveHkoKQogICAgIHJldHVybiBt
X2lkYkNvbm5lY3Rpb25Qcm94eS5nZXQoKTsKIH0KIAorUmVmUHRyPFBlcm1pc3Npb25Db250cm9s
bGVyPiBEb2N1bWVudDo6cGVybWlzc2lvbkNvbnRyb2xsZXIoKQoreworICAgIHJldHVybiBwYWdl
KCkgPyAmcGFnZSgpLT5wZXJtaXNzaW9uQ29udHJvbGxlcigpIDogbnVsbHB0cjsKK30KKwogU29j
a2V0UHJvdmlkZXIqIERvY3VtZW50Ojpzb2NrZXRQcm92aWRlcigpCiB7CiAgICAgcmV0dXJuIG1f
c29ja2V0UHJvdmlkZXIuZ2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDRjMjk1ZDQ1OGYx
YWUwNjE3OWE1NDZiOTRkYjM4MDc3MjY1NGMxYzUuLjNkNDY1YjNjNDhiMjEyMjhlNmRhYTE4YTc5
MmQyZDMzNGY4ZTE5MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC03MDEsNiArNzAxLDcgQEAg
cHVibGljOgogICAgIHZvaWQgZGlzYWJsZVdlYkFzc2VtYmx5KGNvbnN0IFN0cmluZyYgZXJyb3JN
ZXNzYWdlKSBmaW5hbDsKIAogICAgIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBpZGJD
b25uZWN0aW9uUHJveHkoKSBmaW5hbDsKKyAgICBSZWZQdHI8UGVybWlzc2lvbkNvbnRyb2xsZXI+
IHBlcm1pc3Npb25Db250cm9sbGVyKCkgZmluYWw7CiAgICAgU29ja2V0UHJvdmlkZXIqIHNvY2tl
dFByb3ZpZGVyKCkgZmluYWw7CiAgICAgUmVmUHRyPFJUQ0RhdGFDaGFubmVsUmVtb3RlSGFuZGxl
ckNvbm5lY3Rpb24+IGNyZWF0ZVJUQ0RhdGFDaGFubmVsUmVtb3RlSGFuZGxlckNvbm5lY3Rpb24o
KSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFj
dG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KaW5kZXgg
NWU1OGYxMTE2NjdlZjYyMTBkNTMxMTBkN2I1NGE4MDJjODQzOTVkOC4uMDEzY2VkMDk0NmZmY2Q1
MjU5ZmEyNTBiMTYwM2ExOGU0NTllNDU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXRGYWN0b3J5LmluCkBAIC0zNSw2ICszNSw3IEBAIE9mZnNjcmVlbkNhbnZhcyBjb25kaXRpb25h
bD1PRkZTQ1JFRU5fQ0FOVkFTCiBQYXltZW50UmVxdWVzdCBjb25kaXRpb25hbD1QQVlNRU5UX1JF
UVVFU1QKIFBheW1lbnRSZXNwb25zZSBjb25kaXRpb25hbD1QQVlNRU5UX1JFUVVFU1QKIFBlcmZv
cm1hbmNlCitQZXJtaXNzaW9uU3RhdHVzCiBQaWN0dXJlSW5QaWN0dXJlV2luZG93IGNvbmRpdGlv
bmFsPVBJQ1RVUkVfSU5fUElDVFVSRV9BUEkKIFJlbW90ZVBsYXliYWNrIGNvbmRpdGlvbmFsPVdJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVAogUlRDRGF0YUNoYW5uZWwgY29uZGl0aW9uYWw9V0VCX1JU
QwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggZDRi
YjhlMTlhZTc4ZjdlODFhNmNiNjFmYjZlNTUyM2MxMDRjNGRkZS4uMWVjYmMxMzc5YjlhNWE2ODc2
ODU2MmRlODA2YTYzYjZkNWZjMDFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJBY3RpdmVET01P
YmplY3QuaCIKICNpbmNsdWRlICJET01UaW1lci5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250
cm9sbGVyLmgiCiAjaW5jbHVkZSAiUlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyQ29ubmVjdGlv
bi5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLmgiCkBAIC0xMTUsNiArMTE2LDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlV2ViQXNzZW1ibHkoY29uc3QgU3RyaW5nJiBlcnJv
ck1lc3NhZ2UpID0gMDsKIAogICAgIHZpcnR1YWwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJv
eHkqIGlkYkNvbm5lY3Rpb25Qcm94eSgpID0gMDsKKyAgICB2aXJ0dWFsIFJlZlB0cjxQZXJtaXNz
aW9uQ29udHJvbGxlcj4gcGVybWlzc2lvbkNvbnRyb2xsZXIoKSB7IHJldHVybiBudWxscHRyOyB9
CiAKICAgICB2aXJ0dWFsIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcigpID0gMDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9UYXNrU291cmNlLmgKaW5kZXggNzEzM2Y2NzhlYTJkOTkyNjk1MTYwMjA4NjRlZjEz
ZDRmM2VmZDM5OC4uMmRhNDdiYWQ2YzczYTZiYTViZjI4M2I4ZDM1MmY0MGQyMWFmMDE0ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vVGFza1NvdXJjZS5oCkBAIC0zOSw2ICszOSw3IEBAIGVudW0gY2xhc3MgVGFza1Nv
dXJjZSA6IHVpbnQ4X3QgewogICAgIE1pY3JvdGFzaywKICAgICBOZXR3b3JraW5nLAogICAgIFBl
cmZvcm1hbmNlVGltZWxpbmUsCisgICAgUGVybWlzc2lvbiwKICAgICBQb3N0ZWRNZXNzYWdlUXVl
dWUsCiAgICAgU3BlZWNoLAogICAgIFVzZXJJbnRlcmFjdGlvbiwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggOTY0ZTJkZDEyMDcwMzMxYTY1Y2EzNDFhYzcwZTRiMjg3
NDIwMGEwZC4uNTVjYzQ2ZTI1OTE4NDY5ZjMxZDU2YzA0OTZlNDNkZDU1ZWNmZDVkMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTYzLDYgKzYzLDcgQEAKICNpbmNs
dWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZUNvbmZpZ3VyYXRpb24uaCIKICNpbmNsdWRlICJQ
YXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uQ29udHJvbGxl
ci5oIgogI2luY2x1ZGUgIlBsdWdpbkluZm9Qcm92aWRlci5oIgogI2luY2x1ZGUgIlByb2dyZXNz
VHJhY2tlckNsaWVudC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luRGF0YS5oIgpAQCAtMTE5
Myw3ICsxMTk0LDggQEAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb25XaXRoRW1w
dHlDbGllbnRzKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKICAgICAgICAgbWFrZVVuaXF1ZVJl
ZjxFbXB0eUZyYW1lTG9hZGVyQ2xpZW50PigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPER1bW15
U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxFbXB0
eU1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKSwKLSAgICAgICAgRW1wdHlCcm9hZGNhc3RDaGFubmVs
UmVnaXN0cnk6OmNyZWF0ZSgpCisgICAgICAgIEVtcHR5QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5
OjpjcmVhdGUoKSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1teVBlcm1pc3Npb25Db250cm9s
bGVyPigpCiAgICAgfTsKIAogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxFbXB0eUNocm9tZUNs
aWVudD4gZHVtbXlDaHJvbWVDbGllbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBlZWU2OGI3N2Ux
ZTVmY2UxZTU5YzMyOTQzNGE5YTg2MDBiMzY5NzEwLi44NjEwNzhiYTBiZjYxODNiNzcxMTQ1YTc0
YjQxYmUwN2Q3YjA1NjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTk5LDYgKzk5LDcgQEAKICNp
bmNsdWRlICJQZXJmb3JtYW5jZUxvZ2dpbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZUxvZ2dp
bmdDbGllbnQuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1vbml0b3IuaCIKKyNpbmNsdWRlICJQ
ZXJtaXNzaW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU2NyZWVuLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1T
dHJhdGVnaWVzLmgiCkBAIC0zMjUsNiArMzI2LDcgQEAgUGFnZTo6UGFnZShQYWdlQ29uZmlndXJh
dGlvbiYmIHBhZ2VDb25maWd1cmF0aW9uKQogICAgICwgbV9sb2Fkc1N1YnJlc291cmNlcyhwYWdl
Q29uZmlndXJhdGlvbi5sb2Fkc1N1YnJlc291cmNlcykKICAgICAsIG1fc2hvdWxkUmVsYXhUaGly
ZFBhcnR5Q29va2llQmxvY2tpbmcocGFnZUNvbmZpZ3VyYXRpb24uc2hvdWxkUmVsYXhUaGlyZFBh
cnR5Q29va2llQmxvY2tpbmcpCiAgICAgLCBtX2h0dHBzVXBncmFkZUVuYWJsZWQocGFnZUNvbmZp
Z3VyYXRpb24uaHR0cHNVcGdyYWRlRW5hYmxlZCkKKyAgICAsIG1fcGVybWlzc2lvbkNvbnRyb2xs
ZXIoV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5wZXJtaXNzaW9uQ29udHJvbGxlcikpCiB7CiAg
ICAgdXBkYXRlVGltZXJUaHJvdHRsaW5nU3RhdGUoKTsKIApAQCAtMzY5Myw0ICszNjk1LDkgQEAg
dm9pZCBQYWdlOjpyZXNldFRleHRSZWNvZ25pdGlvblJlc3VsdHMoKQogCiAjZW5kaWYgLy8gRU5B
QkxFKElNQUdFX0FOQUxZU0lTKQogCitQZXJtaXNzaW9uQ29udHJvbGxlciYgUGFnZTo6cGVybWlz
c2lvbkNvbnRyb2xsZXIoKQoreworICAgIHJldHVybiBtX3Blcm1pc3Npb25Db250cm9sbGVyLmdl
dCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDkyNTVi
ZjMxM2M2N2Q3MTQ4MTVjZjc4MTUyNjZmZmQ4MDViMjJmNjAuLjNiMWUyNjkwNTU2ZGQ0ZjNkMTdh
OGViODVmMjRkMDA0MDg4NzQzNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0xMzEsNiArMTMxLDcgQEAg
Y2xhc3MgUGF5bWVudENvb3JkaW5hdG9yOwogY2xhc3MgUGVyZm9ybWFuY2VMb2dnaW5nOwogY2xh
c3MgUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50OwogY2xhc3MgUGVyZm9ybWFuY2VNb25pdG9yOwor
Y2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXI7CiBjbGFzcyBQbHVnaW5EYXRhOwogY2xhc3MgUGx1
Z2luSW5mb1Byb3ZpZGVyOwogY2xhc3MgUGx1Z2luVmlld0Jhc2U7CkBAIC04NzIsNiArODczLDgg
QEAgcHVibGljOgogICAgIHZvaWQgY2FjaGVUZXh0UmVjb2duaXRpb25SZXN1bHQoY29uc3QgSFRN
TEVsZW1lbnQmLCBjb25zdCBJbnRSZWN0JiBjb250YWluZXJSZWN0LCBjb25zdCBUZXh0UmVjb2du
aXRpb25SZXN1bHQmKTsKICNlbmRpZgogCisgICAgV0VCQ09SRV9FWFBPUlQgUGVybWlzc2lvbkNv
bnRyb2xsZXImIHBlcm1pc3Npb25Db250cm9sbGVyKCk7CisKIHByaXZhdGU6CiAgICAgc3RydWN0
IE5hdmlnYXRpb24gewogICAgICAgICBSZWdpc3RyYWJsZURvbWFpbiBkb21haW47CkBAIC0xMTk0
LDYgKzExOTcsOCBAQCBwcml2YXRlOgogICAgIGNvbnN0IGJvb2wgbV9odHRwc1VwZ3JhZGVFbmFi
bGVkIHsgdHJ1ZSB9OwogICAgIG11dGFibGUgTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1f
bWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyOwogCisgICAgVW5pcXVlUmVmPFBlcm1pc3Npb25D
b250cm9sbGVyPiBtX3Blcm1pc3Npb25Db250cm9sbGVyOworCiAjaWYgRU5BQkxFKElNQUdFX0FO
QUxZU0lTKQogICAgIC8vIEZJWE1FOiBUaGVzZSBzaG91bGQgYmUgcmVmYWN0b3JlZCB0byB1c2Ug
YSB3ZWFrIGhhc2ggbWFwIG9mIEhUTUxFbGVtZW50IHRvIHN0ZDo6cGFpcjxUZXh0UmVjb2duaXRp
b25SZXN1bHQsIEludFNpemU+LgogICAgIFZlY3RvcjxzdGQ6OnBhaXI8V2Vha1B0cjxIVE1MRWxl
bWVudD4sIHN0ZDo6cGFpcjxUZXh0UmVjb2duaXRpb25SZXN1bHQsIEludFJlY3Q+Pj4gbV90ZXh0
UmVjb2duaXRpb25SZXN1bHRzQnlFbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25m
aWd1cmF0aW9uLmNwcAppbmRleCA2NzVlMzY5Y2MxZTJjMmI3N2Q5OWZkZDA5MTM0YjE5OGYwY2Yz
YWYzLi5jYjU2MGZkNDE0YTIzYTc2YjJjYzdiNjBlYTUwMjk5OWE5ODFjYzk3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcApAQCAtNTksNyArNTksNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlv
bihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYgZWRp
dG9yQ2xpZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJvdmlkZXIsIFVuaXF1ZVJl
ZjxMaWJXZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlciwgUmVmPENhY2hlU3RvcmFn
ZVByb3ZpZGVyPiYmIGNhY2hlU3RvcmFnZVByb3ZpZGVyLCBSZWY8VXNlckNvbnRlbnRQcm92aWRl
cj4mJiB1c2VyQ29udGVudFByb3ZpZGVyLCBSZWY8QmFja0ZvcndhcmRDbGllbnQ+JiYgYmFja0Zv
cndhcmRDbGllbnQsIFJlZjxDb29raWVKYXI+JiYgY29va2llSmFyLCBVbmlxdWVSZWY8UHJvZ3Jl
c3NUcmFja2VyQ2xpZW50PiYmIHByb2dyZXNzVHJhY2tlckNsaWVudCwgVW5pcXVlUmVmPEZyYW1l
TG9hZGVyQ2xpZW50PiYmIGxvYWRlckNsaWVudEZvck1haW5GcmFtZSwgVW5pcXVlUmVmPFNwZWVj
aFJlY29nbml0aW9uUHJvdmlkZXI+JiYgc3BlZWNoUmVjb2duaXRpb25Qcm92aWRlciwgVW5pcXVl
UmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4mJiBtZWRpYVJlY29yZGVyUHJvdmlkZXIsIFJlZjxC
cm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYgYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KQorUGFn
ZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQsIFJlZjxTb2NrZXRQcm92
aWRlcj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmIGxp
YldlYlJUQ1Byb3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYgY2FjaGVTdG9yYWdl
UHJvdmlkZXIsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmIHVzZXJDb250ZW50UHJvdmlkZXIs
IFJlZjxCYWNrRm9yd2FyZENsaWVudD4mJiBiYWNrRm9yd2FyZENsaWVudCwgUmVmPENvb2tpZUph
cj4mJiBjb29raWVKYXIsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYgcHJvZ3Jl
c3NUcmFja2VyQ2xpZW50LCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+JiYgbG9hZGVyQ2xp
ZW50Rm9yTWFpbkZyYW1lLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4mJiBz
cGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyLCBVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVy
PiYmIG1lZGlhUmVjb3JkZXJQcm92aWRlciwgUmVmPEJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4m
JiBicm9hZGNhc3RDaGFubmVsUmVnaXN0cnksIFVuaXF1ZVJlZjxQZXJtaXNzaW9uQ29udHJvbGxl
cj4mJiBwZXJtaXNzaW9uQ29udHJvbGxlcikKICAgICA6IHNlc3Npb25JRChzZXNzaW9uSUQpCiAg
ICAgLCBlZGl0b3JDbGllbnQoV1RGTW92ZShlZGl0b3JDbGllbnQpKQogICAgICwgc29ja2V0UHJv
dmlkZXIoV1RGTW92ZShzb2NrZXRQcm92aWRlcikpCkBAIC03Myw2ICs3Myw3IEBAIFBhZ2VDb25m
aWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVu
aXF1ZVJlZjxFZGl0b3JDCiAgICAgLCBicm9hZGNhc3RDaGFubmVsUmVnaXN0cnkoV1RGTW92ZShi
cm9hZGNhc3RDaGFubmVsUmVnaXN0cnkpKQogICAgICwgc3BlZWNoUmVjb2duaXRpb25Qcm92aWRl
cihXVEZNb3ZlKHNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXIpKQogICAgICwgbWVkaWFSZWNvcmRl
clByb3ZpZGVyKFdURk1vdmUobWVkaWFSZWNvcmRlclByb3ZpZGVyKSkKKyAgICAsIHBlcm1pc3Np
b25Db250cm9sbGVyKFdURk1vdmUocGVybWlzc2lvbkNvbnRyb2xsZXIpKQogewogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKaW5kZXggMGYyNTlkNTZkM2ExNDJhMTRl
MGVjODUxNGUwZmQ1YjJmZDI5MzBhNS4uZDc1YjcxMDRjMzUwMzkxZjU4YTk2OGZhZTJlNmUwMzU0
NjExNmFjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaApAQCAtNTks
NiArNTksNyBAQCBjbGFzcyBMaWJXZWJSVENQcm92aWRlcjsKIGNsYXNzIE1lZGlhUmVjb3JkZXJQ
cm92aWRlcjsKIGNsYXNzIFBheW1lbnRDb29yZGluYXRvckNsaWVudDsKIGNsYXNzIFBlcmZvcm1h
bmNlTG9nZ2luZ0NsaWVudDsKK2NsYXNzIFBlcm1pc3Npb25Db250cm9sbGVyOwogY2xhc3MgUGx1
Z2luSW5mb1Byb3ZpZGVyOwogY2xhc3MgUHJvZ3Jlc3NUcmFja2VyQ2xpZW50OwogY2xhc3MgU29j
a2V0UHJvdmlkZXI7CkBAIC03NCw3ICs3NSw3IEBAIGNsYXNzIFNwZWVjaFN5bnRoZXNpc0NsaWVu
dDsKIGNsYXNzIFBhZ2VDb25maWd1cmF0aW9uIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQ
YWdlQ29uZmlndXJhdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAg
IFdFQkNPUkVfRVhQT1JUIFBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklELCBVbmlxdWVS
ZWY8RWRpdG9yQ2xpZW50PiYmLCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJX
ZWJSVENQcm92aWRlcj4mJiwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmLCBSZWY8VXNlckNv
bnRlbnRQcm92aWRlcj4mJiwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmLCBSZWY8Q29va2llSmFy
PiYmLCBVbmlxdWVSZWY8UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmLCBVbmlxdWVSZWY8RnJhbWVM
b2FkZXJDbGllbnQ+JiYsIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmLCBV
bmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPiYmLCBSZWY8QnJvYWRjYXN0Q2hhbm5lbFJl
Z2lzdHJ5PiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihQQUw6OlNl
c3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiwgUmVmPFNvY2tldFByb3ZpZGVyPiYm
LCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRl
cj4mJiwgUmVmPFVzZXJDb250ZW50UHJvdmlkZXI+JiYsIFJlZjxCYWNrRm9yd2FyZENsaWVudD4m
JiwgUmVmPENvb2tpZUphcj4mJiwgVW5pcXVlUmVmPFByb2dyZXNzVHJhY2tlckNsaWVudD4mJiwg
VW5pcXVlUmVmPEZyYW1lTG9hZGVyQ2xpZW50PiYmLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2duaXRp
b25Qcm92aWRlcj4mJiwgVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4mJiwgUmVmPEJy
b2FkY2FzdENoYW5uZWxSZWdpc3RyeT4mJiwgVW5pcXVlUmVmPFBlcm1pc3Npb25Db250cm9sbGVy
PiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB+UGFnZUNvbmZpZ3VyYXRpb24oKTsKICAgICBQYWdl
Q29uZmlndXJhdGlvbihQYWdlQ29uZmlndXJhdGlvbiYmKTsKIApAQCAtMTM4LDYgKzEzOSw4IEBA
IHB1YmxpYzoKICAgICBib29sIHVzZXJTY3JpcHRzU2hvdWxkV2FpdFVudGlsTm90aWZpY2F0aW9u
IHsgdHJ1ZSB9OwogICAgIFNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nIHNob3Vs
ZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nIHsgU2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29v
a2llQmxvY2tpbmc6Ok5vIH07CiAgICAgYm9vbCBodHRwc1VwZ3JhZGVFbmFibGVkIHsgdHJ1ZSB9
OworCisgICAgVW5pcXVlUmVmPFBlcm1pc3Npb25Db250cm9sbGVyPiBwZXJtaXNzaW9uQ29udHJv
bGxlcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9T
b3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IDY2YWVkYTQzYzgyZDhiZmIzMzViYmZlZjYw
OTVkMDRlZmFkYjg2MjAuLmE3NDVkNzIwMTVjZmMxOTVmYjk2ZjJjYzU1ODU4YTgzMWI3NTBlYTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktp
dC9Tb3VyY2VzLnR4dApAQCAtNjk0LDYgKzY5NCw3IEBAIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViTWVkaWFLZXlTeXN0ZW1DbGllbnQuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAKK1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
UG9wdXBNZW51LmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQcm9ncmVzc1RyYWNr
ZXJDbGllbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRl
eCA1ZmIzMDg5NTAxNTYyNDg2NjYxNTNjNjI0ZjQwMzRlYTRhODg0ZmRmLi45YTgyOTZiOThkNWJi
MGRiNjNhNzgwZjE1YmYzNDIzM2U3ZTQzYzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKQEAgLTE3Miw2ICsxNzIsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTUlN
RVR5cGVSZWdpc3RyeS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFTdHJlYW1SZXF1ZXN0Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9QZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL1Blcm1pc3Npb25TdGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1F
dmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1B1YmxpY1N1ZmZpeC5oPgpAQCAtODQ5Myw2ICs4NDk0LDEyIEBAIHZv
aWQgV2ViUGFnZVByb3h5OjpyZXZva2VHZW9sb2NhdGlvbkF1dGhvcml6YXRpb25Ub2tlbihjb25z
dCBTdHJpbmcmIGF1dGhvcml6YXRpCiAgICAgbV9nZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlci5yZXZva2VBdXRob3JpemF0aW9uVG9rZW4oYXV0aG9yaXphdGlvblRva2VuKTsKIH0K
IAordm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RQZXJtaXNzaW9uKGNvbnN0IFdlYkNvcmU6OkNs
aWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQoreworICAgIC8vIEZJWE1FOiBTaG93IGEgcHJvbXB0IGZvciB1c2VyIGlucHV0Lgor
ICAgIGNvbXBsZXRpb25IYW5kbGVyKFBlcm1pc3Npb25TdGF0ZTo6R3JhbnRlZCk7Cit9CisKICNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
UHJveHkmIFdlYlBhZ2VQcm94eTo6dXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCkK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZWExYzIyZmI2YjEx
YmU5Njg5OTI4MjY0ZDNiZjNmYzg0NzEwOWI4ZC4uNDYxYWFjYjg4ODZhNTIzMWNjYWFmZjA3NGYy
YTFhNTRjMDE3N2Q3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAg
LTI5NCw2ICsyOTQsNyBAQCBzdHJ1Y3QgTGlua0ljb247CiBzdHJ1Y3QgTWVkaWFTdHJlYW1SZXF1
ZXN0Owogc3RydWN0IE1lZGlhVXNhZ2VJbmZvOwogc3RydWN0IE1vY2tXZWJBdXRoZW50aWNhdGlv
bkNvbmZpZ3VyYXRpb247CitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7CiBzdHJ1Y3QgUHJl
d2FybUluZm9ybWF0aW9uOwogc3RydWN0IFNlY3VyaXR5T3JpZ2luRGF0YTsKIHN0cnVjdCBTaGFy
ZURhdGE7CkBAIC0yMTE3LDYgKzIxMTgsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCByZXF1ZXN0
R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoR2VvbG9jYXRpb25JZGVudGlmaWVyLCBGcmFt
ZUluZm9EYXRhJiYpOwogICAgIHZvaWQgcmV2b2tlR2VvbG9jYXRpb25BdXRob3JpemF0aW9uVG9r
ZW4oY29uc3QgU3RyaW5nJiBhdXRob3JpemF0aW9uVG9rZW4pOworICAgIHZvaWQgcmVxdWVzdFBl
cm1pc3Npb24oY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6UGVy
bWlzc2lvbkRlc2NyaXB0b3ImLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBlcm1p
c3Npb25TdGF0ZSk+JiYpOwogCiAjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCiAg
ICAgdm9pZCBzZW5kTWVzc2FnZVRvV2ViVmlldyhVc2VyTWVzc2FnZSYmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBiYzM3Yjhm
YzZhZGYzZWFkMTg3MmQxMTU1ZmYwY2JkMDA5ZGMwYWY5Li4wN2UwZjU0ODAzNDY5NzAzYTZmNzM3
ZDk5MzA3YjFlYzczNTBjZDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC02MDIsNCArNjAyLDYgQEAgbWVzc2FnZXMgLT4gV2Vi
UGFnZVByb3h5IHsKICNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKICAgICBNb2Rl
bEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KHN0cnVjdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCBl
bGVtZW50Q29udGV4dCwgVVJMIHVybCwgU3RyaW5nIHV1aWQsIFdlYkNvcmU6OkZsb2F0U2l6ZSBz
aXplKQogI2VuZGlmCisKKyAgICByZXF1ZXN0UGVybWlzc2lvbihzdHJ1Y3QgV2ViQ29yZTo6Q2xp
ZW50T3JpZ2luIG9yaWdpbiwgc3RydWN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yIGRl
c2NyaXB0b3IpIC0+IChlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHN0YXRl
KSBBc3luYwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggZmUzZDMyYjMyOTVjMmM0NGZkNDQ0NGNkZDdmMTQxZjI0MDA0Y2EwMi4uZmI2
OGEzYmQxNmQyNzM4MmNkMzNjOTNiMTBiZWJlMjkzYjMzYTUwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDk2LDYgKzE0OTYsNyBA
QAogCQk5M0FCOUI0RTI1NzU2N0UyMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1vdGVS
ZWFsdGltZU1lZGlhU291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5M0FCOUI0MjI1NzQ5MjhDMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25S
ZW1vdGVSZWFsdGltZU1lZGlhU291cmNlLmggKi87IH07CiAJCTkzQUI5QjU1MjU3NUEyNzYwMDk4
QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2Fn
ZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzQUI5QjRGMjU3NTg5MTEwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1l
TWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJOTNBQjlCNTYy
NTc1QTI4QjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNv
dXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBQjlCNTEyNTc1ODkxMTAwOThCMTBFIC8qIFNwZWVjaFJl
Y29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovOyB9OworCQk5M0IwQTY3NTI2RDVBRENGMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzQjBBNjc0MjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oICov
OyB9OwogCQk5M0IyNjE0RDIyN0QxNDlFMDBCOTdBNzYgLyogU3RvcmFnZU1hbmFnZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjI2MTQ5MjI3RDE0
NzIwMEI5N0E3NiAvKiBTdG9yYWdlTWFuYWdlci5oICovOyB9OwogCQk5M0IyNjE0RTIyN0QxNEIx
MDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjI2MTQ1MjI3RDE0NzAwMEI5N0E3NiAvKiBMb2Nh
bFN0b3JhZ2VEYXRhYmFzZS5oICovOyB9OwogCQk5M0IyNjE0RjIyN0QxNEIxMDBCOTdBNzYgLyog
TG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IyNjE0NjIyN0QxNDcxMDBCOTdBNzYgLyogTG9jYWxTdG9y
YWdlRGF0YWJhc2VUcmFja2VyLmggKi87IH07CkBAIC00OTE0LDYgKzQ5MTUsMTAgQEAKIAkJOTNB
QjlCNTIyNTc1ODkxMjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVN
ZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFu
YWdlck1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0FC
OUI1MzI1NzU4OTEyMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1l
ZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNz
YWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0FCOUI1NDI1NzU4OTEyMDA5
OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3Nh
Z2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwZWVjaFJlY29nbml0aW9u
UmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5M0IwQTY2RDI2RDQ1MTUwMDBBQTIxRTQgLyogUGVybWlzc2lvbk1hbmFnZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVybWlzc2lvbk1hbmFn
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY2RTI2RDQ1MTUwMDBB
QTIxRTQgLyogUGVybWlzc2lvbk1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUGVybWlzc2lvbk1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTNCMEE2NzMyNkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlBlcm1pc3Npb25Db250cm9s
bGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NzQyNkQ1QTcyRTAw
QUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkzQjI2MTQ1MjI3RDE0NzAwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRh
YmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2NhbFN0b3JhZ2VEYXRh
YmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IyNjE0NjIyN0QxNDcxMDBC
OTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5M0IyNjE0NzIyN0QxNDcxMDBCOTdBNzYgLyogTG9jYWxTdG9y
YWdlRGF0YWJhc2VUcmFja2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC05NjIzLDYgKzk2MjgsMTUgQEAKIAkJCXBhdGggPSBTcGVlY2g7CiAJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk5M0IwQTY2QzI2RDQ1MTFGMDBBQTIxRTQgLyog
UGVybWlzc2lvbiAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJ
CQkJOTNCMEE2NkQyNkQ0NTE1MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25NYW5hZ2VyLmNwcCAqLywK
KwkJCQk5M0IwQTY2RTI2RDQ1MTUwMDBBQTIxRTQgLyogUGVybWlzc2lvbk1hbmFnZXIuaCAqLywK
KwkJCSk7CisJCQlwYXRoID0gUGVybWlzc2lvbjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CisJCX07CiAJCTkzQjI2MTQzMjI3RDE0MzEwMEI5N0E3NiAvKiBXZWJTdG9yYWdlICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTk4NjMsNiArOTg3Nyw3IEBA
CiAJCQkJNEE0MTBGNDExOUFGN0IyNzAwMkVCQUI1IC8qIE1lZGlhU3RyZWFtICovLAogCQkJCTUx
MDVCMEQyMTYyRjdBNUUwMEUyNzcwOSAvKiBOZXR3b3JrICovLAogCQkJCTMxMDk5OTc0MTQ2QzhB
QTgwMDI5REVCOSAvKiBOb3RpZmljYXRpb25zIChVc2VyKSAqLywKKwkJCQk5M0IwQTY2QzI2RDQ1
MTFGMDBBQTIxRTQgLyogUGVybWlzc2lvbiAqLywKIAkJCQkxQTZGQjdBQTExRTY0QjQ5MDBEQjEz
NzEgLyogUGx1Z2lucyAqLywKIAkJCQk5M0FCOUI0ODI1NzRDNUNFMDA5OEIxMEUgLyogU3BlZWNo
ICovLAogCQkJCTUxMThFOTk4MUYyOTUyNTkwMDNFRjlGNSAvKiBTdG9yYWdlICovLApAQCAtOTkz
Myw2ICs5OTQ4LDggQEAKIAkJCQk1MTIxMjdDMjE5MDgyMzlBMDBEQUYzNUMgLyogV2ViUGFzdGVi
b2FyZE92ZXJyaWRlcy5oICovLAogCQkJCTBGODUwRkU0MUVEN0MzOUYwMEZCNzdBNyAvKiBXZWJQ
ZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwICovLAogCQkJCTBGODUwRkU1MUVEN0MzOUYwMEZC
NzdBNyAvKiBXZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaCAqLywKKwkJCQk5M0IwQTY3MzI2
RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwICovLAorCQkJCTkz
QjBBNjc0MjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oICovLAog
CQkJCTFBM0U3MzYwMTFDQzI2NTkwMDdCRDUzOSAvKiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3Bw
ICovLAogCQkJCTFBM0U3MzVGMTFDQzI2NTkwMDdCRDUzOSAvKiBXZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXMuaCAqLywKIAkJCQlEM0I5NDg0MjExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmNw
cCAqLywKQEAgLTEyNjYyLDYgKzEyNjc5LDcgQEAKIAkJCQlBMTc5OEI0QzIyMkYxQkQ0MDAwNzY0
QkQgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUFCMUY3OTkxRDFCMzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5
TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGODUwRkU3MUVEN0MzOUYwMEZCNzdBNyAv
KiBXZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBB
Njc1MjZENUFEQ0YwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUEzRTczNjExMUNDMjY1OTAwN0JENTM5IC8qIFdlYlBsYXRmb3JtU3RyYXRl
Z2llcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1NzQ0RjAxMjYzOEZCMzAwNkYwRjEyIC8qIFdl
YlBvcHVwSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNCOTQ4NDcxMUZGNEI2NTAwMDMyQjM5
IC8qIFdlYlBvcHVwTWVudS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25D
b250cm9sbGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ODBjYWJlMDBjZjZlMzg1MTlmN2QwM2I5OGEwNzMz
YzYzOWY0MjBjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcApAQCAtMCwwICsxLDE0MiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJQZXJtaXNz
aW9uQ29udHJvbGxlci5oIgorCisKKyNpbmNsdWRlICJXZWJQYWdlLmgiCisjaW5jbHVkZSAiV2Vi
UGFnZVByb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1pc3Npb25PYnNlcnZl
ci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6Oldl
YlBlcm1pc3Npb25Db250cm9sbGVyKFdlYlBhZ2UmIHBhZ2UpCisgICAgOiBtX3BhZ2UobWFrZVdl
YWtQdHIocGFnZSkpCit7Cit9CisKK1dlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBXZWJQZXJtaXNz
aW9uQ29udHJvbGxlcjo6cXVlcnkoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2luLCBXZWJD
b3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpCit7CisgICAgaWYgKCFtX3Bh
Z2UpCisgICAgICAgIHJldHVybiBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkRlbmllZDsKKwor
ICAgIHJldHVybiBxdWVyeUNhY2hlKFdURk1vdmUob3JpZ2luKSwgV1RGTW92ZShkZXNjcmlwdG9y
KSk7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnJlcXVlc3QoV2ViQ29yZTo6
Q2xpZW50T3JpZ2luJiYgb3JpZ2luLCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmIGRl
c2NyaXB0b3IsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRl
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0
dXJuIGNvbXBsZXRpb25IYW5kbGVyKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkKTsK
KworICAgIGF1dG8gY2FjaGVkUmVzdWx0ID0gcXVlcnlDYWNoZShvcmlnaW4sIGRlc2NyaXB0b3Ip
OworICAgIGlmIChjYWNoZWRSZXN1bHQgIT0gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpQcm9t
cHQpCisgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihjYWNoZWRSZXN1bHQpOworCisg
ICAgbV9yZXF1ZXN0cy5hcHBlbmQoUGVybWlzc2lvblJlcXVlc3QgeyBXVEZNb3ZlKG9yaWdpbiks
IFdURk1vdmUoZGVzY3JpcHRvciksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpIH0pOworICAg
IHRyeVByb2Nlc3NpbmdSZXF1ZXN0KCk7Cit9CisKK1dlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBX
ZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVlcnlDYWNoZShjb25zdCBXZWJDb3JlOjpDbGllbnRP
cmlnaW4mIG9yaWdpbiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2Ny
aXB0b3IpCit7CisgICAgaWYgKG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXMuY29udGFpbnMob3Jp
Z2luKSkgeworICAgICAgICBhdXRvIHBlcm1pc3Npb25FbnRyaWVzID0gbV9jYWNoZWRQZXJtaXNz
aW9uRW50cmllcy5nZXQob3JpZ2luKTsKKyAgICAgICAgZm9yIChhdXRvJiBlbnRyeSA6IHBlcm1p
c3Npb25FbnRyaWVzKSB7CisgICAgICAgICAgICBpZiAoZW50cnkuZmlyc3QgPT0gZGVzY3JpcHRv
cikKKyAgICAgICAgICAgICAgICByZXR1cm4gZW50cnkuc2Vjb25kOworICAgICAgICB9CisgICAg
fQorCisgICAgcmV0dXJuIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0OworfQorCit2
b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRhdGVDYWNoZShjb25zdCBXZWJDb3JlOjpD
bGllbnRPcmlnaW4mIG9yaWdpbiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3Im
IGRlc2NyaXB0b3IsIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBzdGF0ZSkKK3sKKyAgICBhdXRv
JiBlbnRyaWVzID0gbV9jYWNoZWRQZXJtaXNzaW9uRW50cmllcy5lbnN1cmUob3JpZ2luLCBbJl0o
KSB7CisgICAgICAgIHJldHVybiBWZWN0b3I8UGVybWlzc2lvbkVudHJ5PiB7IH07CisgICAgfSku
aXRlcmF0b3ItPnZhbHVlOworICAgIGZvciAoYXV0byYgZW50cnkgOiBlbnRyaWVzKSB7CisgICAg
ICAgIGlmIChlbnRyeS5maXJzdCA9PSBkZXNjcmlwdG9yKSB7CisgICAgICAgICAgICBpZiAoZW50
cnkuc2Vjb25kID09IHN0YXRlKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAg
ICAgZW50cnkuc2Vjb25kID0gc3RhdGU7CisgICAgICAgICAgICBwZXJtaXNzaW9uQ2hhbmdlZChv
cmlnaW4sIGRlc2NyaXB0b3IsIHN0YXRlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorICAgIH0KK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6dHJ5UHJvY2Vzc2lu
Z1JlcXVlc3QoKQoreworICAgIGlmIChtX3JlcXVlc3RzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgd2hpbGUgKCFtX3JlcXVlc3RzLmlzRW1wdHkoKSkgeworICAgICAgICBhdXRv
JiBjdXJyZW50UmVxdWVzdCA9IG1fcmVxdWVzdHMuZmlyc3QoKTsKKyAgICAgICAgaWYgKGN1cnJl
bnRSZXF1ZXN0LmlzV2FpdGluZ0ZvclJlcGx5KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgIC8vIENhY2hlIG1heSBoYXZlIHVwZGF0ZWQuCisgICAgICAgIGF1dG8gY2FjaGVkUmVzdWx0
ID0gcXVlcnlDYWNoZShjdXJyZW50UmVxdWVzdC5vcmlnaW4sIGN1cnJlbnRSZXF1ZXN0LmRlc2Ny
aXB0b3IpOworICAgICAgICBpZiAoY2FjaGVkUmVzdWx0ICE9IFdlYkNvcmU6OlBlcm1pc3Npb25T
dGF0ZTo6UHJvbXB0KSB7CisgICAgICAgICAgICBhdXRvIHRha2VuUmVxdWVzdCA9IG1fcmVxdWVz
dHMudGFrZUZpcnN0KCk7CisgICAgICAgICAgICB0YWtlblJlcXVlc3QuY29tcGxldGlvbkhhbmRs
ZXIoY2FjaGVkUmVzdWx0KTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKKyAg
ICAgICAgY3VycmVudFJlcXVlc3QuaXNXYWl0aW5nRm9yUmVwbHkgPSB0cnVlOworICAgICAgICBt
X3BhZ2UtPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0
UGVybWlzc2lvbihjdXJyZW50UmVxdWVzdC5vcmlnaW4sIGN1cnJlbnRSZXF1ZXN0LmRlc2NyaXB0
b3IpLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldKGF1dG8gc3RhdGUpIHsK
KyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgICAgICBhdXRvIHRha2VuUmVxdWVzdCA9IG1fcmVxdWVzdHMudGFrZUZpcnN0KCk7Cisg
ICAgICAgICAgICB0YWtlblJlcXVlc3QuY29tcGxldGlvbkhhbmRsZXIoc3RhdGUpOworICAgICAg
ICAgICAgdXBkYXRlQ2FjaGUodGFrZW5SZXF1ZXN0Lm9yaWdpbiwgdGFrZW5SZXF1ZXN0LmRlc2Ny
aXB0b3IsIHN0YXRlKTsKKworICAgICAgICAgICAgdHJ5UHJvY2Vzc2luZ1JlcXVlc3QoKTsKKyAg
ICAgICAgfSk7CisgICAgfQorfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjphZGRP
YnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImIG9ic2VydmVyKQoreworICAgIG1f
b2JzZXJ2ZXJzLmFkZChvYnNlcnZlcik7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xs
ZXI6OnJlbW92ZU9ic2VydmVyKFdlYkNvcmU6OlBlcm1pc3Npb25PYnNlcnZlciYgb2JzZXJ2ZXIp
Cit7CisgICAgbV9vYnNlcnZlcnMucmVtb3ZlKG9ic2VydmVyKTsKK30KKwordm9pZCBXZWJQZXJt
aXNzaW9uQ29udHJvbGxlcjo6cGVybWlzc2lvbkNoYW5nZWQoY29uc3QgV2ViQ29yZTo6Q2xpZW50
T3JpZ2luJiBvcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNj
cmlwdG9yLCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpCit7CisgICAgZm9yIChhdXRv
JiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKSB7CisgICAgICAgIGlmIChvYnNlcnZlci5vcmlnaW4o
KSA9PSBvcmlnaW4gJiYgb2JzZXJ2ZXIuZGVzY3JpcHRvcigpID09IGRlc2NyaXB0b3IpCisgICAg
ICAgICAgICBvYnNlcnZlci5zdGF0ZUNoYW5nZWQoc3RhdGUpOworICAgIH0KK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjkzYmUxZWQ5ZWI2MmY5ZDQyZGY1MTUxZGFkN2ZhNTBmMzNkNDc5YTYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlz
c2lvbkNvbnRyb2xsZXIuaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1pc3Npb25Db250cm9sbGVyLmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9QZXJtaXNzaW9uRGVzY3JpcHRvci5oPgorI2luY2x1ZGUgPHd0Zi9EZXF1ZS5o
PgorI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
Y2xhc3MgV2ViUGFnZTsKKworY2xhc3MgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIgZmluYWwgOiBw
dWJsaWMgQ2FuTWFrZVdlYWtQdHI8V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI+LCBwdWJsaWMgV2Vi
Q29yZTo6UGVybWlzc2lvbkNvbnRyb2xsZXIgeworcHVibGljOgorICAgIGV4cGxpY2l0IFdlYlBl
cm1pc3Npb25Db250cm9sbGVyKFdlYlBhZ2UmKTsKKworcHJpdmF0ZToKKyAgICAvLyBXZWJDb3Jl
OjpQZXJtaXNzaW9uQ29udHJvbGxlcgorICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBxdWVy
eShXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3Im
JikgZmluYWw7CisgICAgdm9pZCByZXF1ZXN0KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmLCBXZWJD
b3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNv
cmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYpIGZpbmFsOworICAgIHZvaWQgYWRkT2JzZXJ2ZXIoV2Vi
Q29yZTo6UGVybWlzc2lvbk9ic2VydmVyJikgZmluYWw7CisgICAgdm9pZCByZW1vdmVPYnNlcnZl
cihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImKSBmaW5hbDsKKworICAgIFdlYkNvcmU6OlBl
cm1pc3Npb25TdGF0ZSBxdWVyeUNhY2hlKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIGNv
bnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJik7CisgICAgdm9pZCB1cGRhdGVDYWNo
ZShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9u
RGVzY3JpcHRvciYsIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk7CisgICAgdm9pZCB0cnlQcm9j
ZXNzaW5nUmVxdWVzdCgpOworICAgIHZvaWQgcGVybWlzc2lvbkNoYW5nZWQoY29uc3QgV2ViQ29y
ZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImLCBX
ZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpOworCisgICAgV2Vha1B0cjxXZWJQYWdlPiBtX3BhZ2U7
CisgICAgV2Vha0hhc2hTZXQ8V2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyPiBtX29ic2VydmVy
czsKKworICAgIHVzaW5nIFBlcm1pc3Npb25FbnRyeSA9IHN0ZDo6cGFpcjxXZWJDb3JlOjpQZXJt
aXNzaW9uRGVzY3JpcHRvciwgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlPjsKKyAgICBIYXNoTWFw
PFdlYkNvcmU6OkNsaWVudE9yaWdpbiwgVmVjdG9yPFBlcm1pc3Npb25FbnRyeT4+IG1fY2FjaGVk
UGVybWlzc2lvbkVudHJpZXM7CisKKyAgICBzdHJ1Y3QgUGVybWlzc2lvblJlcXVlc3QgeworICAg
ICAgICBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luOworICAgICAgICBXZWJDb3JlOjpQZXJt
aXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yOworICAgICAgICBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+IGNvbXBsZXRpb25IYW5kbGVyOworICAgICAg
ICBib29sIGlzV2FpdGluZ0ZvclJlcGx5IHsgZmFsc2UgfTsKKyAgICB9OworICAgIERlcXVlPFBl
cm1pc3Npb25SZXF1ZXN0PiBtX3JlcXVlc3RzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAw
NGUzYWUyMDE0M2YyZjNkYmQyMDY0YTMwMmYwMWI4NGVkY2E5NjQ1Li43MTFlZDhlOTIyNzZlYjkz
MWY1NDQ1Yzc0ZmQ2YzNiMGU5ZWI1NDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTIxLDYgKzEyMSw3IEBACiAjaW5jbHVkZSAiV2ViUGFn
ZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQYXltZW50Q29vcmRpbmF0b3IuaCIKICNp
bmNsdWRlICJXZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaCIKKyNpbmNsdWRlICJXZWJQZXJt
aXNzaW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIldlYlBsdWdpbkluZm9Qcm92aWRlci5oIgog
I2luY2x1ZGUgIldlYlBvcHVwTWVudS5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzRGVmaW5p
dGlvbnMuaCIKQEAgLTU2Myw3ICs1NjQsOCBAQCBXZWJQYWdlOjpXZWJQYWdlKFBhZ2VJZGVudGlm
aWVyIHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAg
ICAgIG1ha2VVbmlxdWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KG1fbWFpbkZyYW1lLmNvcHlS
ZWYoKSksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViU3BlZWNoUmVjb2duaXRpb25Qcm92aWRl
cj4obV9pZGVudGlmaWVyKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJv
dmlkZXI+KCp0aGlzKSwKLSAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuYnJvYWRjYXN0
Q2hhbm5lbFJlZ2lzdHJ5KCkKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuYnJvYWRj
YXN0Q2hhbm5lbFJlZ2lzdHJ5KCksCisgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViUGVybWlzc2lv
bkNvbnRyb2xsZXI+KCp0aGlzKQogICAgICk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21l
Q2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudCgqdGhpcyk7CiAjaWYgRU5BQkxFKENPTlRFWFRf
TUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
RGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmgKaW5kZXggYmJmOGQxYmI4Y2U2YzMw
MWRjM2VmMjAxOTUzZDgyZmVjMDVlZGQ1OC4uNTZiYzgxYzc4ZjM0YWE0NTM0NzkzNWQyNzFlYzU3
MGMzZmM3ZWU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaApAQCAtNTAsNyArNTAs
NyBAQCBwcml2YXRlOgogICAgIGJvb2wgc3RhcnROb3RpZmljYXRpb25NZWNoYW5pc20oKSBmaW5h
bDsKICAgICB2b2lkIHN0b3BOb3RpZmljYXRpb25NZWNoYW5pc20oKSBmaW5hbDsKIAotICAgIHZv
aWQgYWRqdXN0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKEZyYW1lc1BlclNlY29uZCkgZmluYWw7
CisgICAgdm9pZCBhZGp1c3RQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQoV2ViQ29yZTo6RnJhbWVz
UGVyU2Vjb25kKSBmaW5hbDsKIAogICAgIERpc3BsYXlMaW5rT2JzZXJ2ZXJJRCBtX29ic2VydmVy
SUQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlJ1bkxvb3BPYnNlcnZlcj4gbV9ydW5M
b29wT2JzZXJ2ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
aW5kZXggY2Q2YTVmNTcyOTk0ZjdlYzRmYmRlNzYzN2RmODY3YmQ1MmYzYzgzNC4uNDgwM2ViYzll
Yzc3ZTg4ZTE1YjI4ZTJiZWRjMTZkNjczYTcyODljZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTk1LDYgKzE5NSw3IEBACiAjaW1wb3J0IDxXZWJD
b3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFnZUNvbmZpZ3VyYXRpb24uaD4KICNpbXBv
cnQgPFdlYkNvcmUvUGF0aFV0aWxpdGllcy5oPgorI2ltcG9ydCA8V2ViQ29yZS9QZXJtaXNzaW9u
Q29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5o
PgogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybVNjcmVlbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9Q
cm9ncmVzc1RyYWNrZXIuaD4KQEAgLTE1MzYsNyArMTUzNyw4IEBAIHN0YXRpYyB2b2lkIFdlYktp
dEluaXRpYWxpemVHYW1lcGFkUHJvdmlkZXJJZk5lY2Vzc2FyeSgpCiAgICAgICAgIG1ha2VVbmlx
dWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2Vi
Q29yZTo6RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigpLAogICAgICAgICBtYWtlVW5p
cXVlUmVmPFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKSwKLSAgICAgICAgV2ViQnJv
YWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShbW3NlbGYgcHJlZmVyZW5jZXNdIHBy
aXZhdGVCcm93c2luZ0VuYWJsZWRdKQorICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0
cnk6OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZF0pLAorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15UGVybWlzc2lvbkNvbnRy
b2xsZXI+KCkKICAgICApOwogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHBhZ2VDb25m
aWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoc2VsZik7CkBAIC0x
ODE0LDcgKzE4MTYsOCBAQCBzdGF0aWMgdm9pZCBXZWJLaXRJbml0aWFsaXplR2FtZXBhZFByb3Zp
ZGVySWZOZWNlc3NhcnkoKQogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xp
ZW50PigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15U3BlZWNoUmVjb2du
aXRpb25Qcm92aWRlcj4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpNZWRpYVJl
Y29yZGVyUHJvdmlkZXI+KCksCi0gICAgICAgIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6
Z2V0T3JDcmVhdGUoW1tzZWxmIHByZWZlcmVuY2VzXSBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSkK
KyAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShbW3NlbGYg
cHJlZmVyZW5jZXNdIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdKSwKKyAgICAgICAgbWFrZVVuaXF1
ZVJlZjxXZWJDb3JlOjpEdW1teVBlcm1pc3Npb25Db250cm9sbGVyPigpCiAgICAgKTsKICAgICBw
YWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50SU9TKHNl
bGYpOwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcu
Y3BwCmluZGV4IDFjZjMyZGEyNGEwOTBjZmUzZDJiNjUyOWNhODNmODI2YzU1ODJlOWQuLmMxOWU4
ZWZmNTdmODE5MGVhMmM0YmNlMzE1ZjBmODBiMzkyYzE5YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlZpZXcuY3BwCkBAIC0xMzgsNiArMTM4LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL05vdElt
cGxlbWVudGVkLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdlQ29uZmlndXJhdGlvbi5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUGF0aFV0aWxpdGllcy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGVybWlz
c2lvbkNvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtS2V5Ym9hcmRFdmVu
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1Nb3VzZUV2ZW50Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9QbGF0Zm9ybVdoZWVsRXZlbnQuaD4KQEAgLTMxMzMsNyArMzEzNCw4IEBAIEhSRVNV
TFQgV2ViVmlldzo6aW5pdFdpdGhGcmFtZShSRUNUIGZyYW1lLCBfSW5fIEJTVFIgZnJhbWVOYW1l
LCBfSW5fIEJTVFIgZ3JvdXBOCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRnJhbWVMb2FkZXJD
bGllbnQ+KHdlYkZyYW1lKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1teVNwZWVjaFJlY29n
bml0aW9uUHJvdmlkZXI+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclBy
b3ZpZGVyPigpLAotICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmdldE9yQ3Jl
YXRlKGZhbHNlKQorICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmdldE9yQ3Jl
YXRlKGZhbHNlKSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1teVBlcm1pc3Npb25Db250cm9s
bGVyPigpCiAgICAgKTsKICAgICBjb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJD
aHJvbWVDbGllbnQodGhpcyk7CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjEz
NWZkYzMwOTc1NjA5NzZkYTgwOGM5OTg5ZjAwNzNiYzkxZDRlOS4uMDkwNWY3MDM0YzI0Y2NjYjRm
YjQ1ODQzOWRkNDE3NDA4ODViMDMyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA4LTI3
ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdHVicyBm
b3IgUGVybWlzc2lvbnMgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjkzMzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgyNDQyMjA1PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVj
dGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL2Zhc3QvZG9tL25hdmlnYXRvci1k
ZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdr
Mi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTA4LTI1ICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ3Jhc2gg
aW4gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnJlc2hhcGVEaXNwbGF5QnVmZmVyQmFja2luZwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOGE2NjUwZjg4Mjg0OTk4MDJhOWQyMGVm
ZTY5YjU0MzM3YjY0NGI4Zi4uZDhlZDM3Yjk4NDUwZTY2NGZkYmY5MDkyMmQwMzU1ODAxMzk0Yzgy
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEt
MDgtMjcgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0
dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODI0NDIyMDU+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJp
YnV0ZS5odHRwcy5zdWItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvc2NyZWVuLXdha2UtbG9jay1wZXJt
aXNzaW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlz
c2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tn
cm91bmQtc3luYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wOC0yNSAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWMgd2syXSBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9y
ZXBvcnRpbmctdG8tZnJhbWUtb3duZXIuaHR0cHMuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDZiZGUyZjk0ZWFkMjE3Yjg2NDQzMjU3MThjMWY0YzYyMTFmMjc2
NzAuLjhiYzkzNjhkOGE4ZWQyOGJhYWE1NDEzZGJmOGFiZjJjMTZmZDE5MWYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMTk2LDYgKzE5Niw3IEBAIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vcGVybWlz
c2lvbi1lcnJvci5odG1sIFsgU2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXJl
Y29nbml0aW9uLXRoZW4tc3RvcC5odG1sIFsgU2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9u
L3N0YXJ0LXNlY29uZC1yZWNvZ25pdGlvbi5odG1sIFsgU2tpcCBdCiBmYXN0L3NwZWVjaHJlY29n
bml0aW9uL2lvcy8gWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvIFsgU2tpcCBdCiAKICMgYXBwLXByaXZhY3ktcmVwb3J0IHRlc3RzIHJlbHkgb24g
V2ViS2l0QWRkaXRpb25zCiBodHRwL3Rlc3RzL2FwcC1wcml2YWN5LXJlcG9ydC8gWyBTa2lwIF0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1l
eHBlY3RlZC50eHQKaW5kZXggYjg0ZDQwZDc2NWYyMDQwODNkZWY4YjY3NzAwYzQyMDQ0YjAzNDY5
OC4uMGM0YmFhMGNmZWUwMWY5NGNlYWY0YWY3ZmIzOGY4OWI0ZmI2YmJlNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9p
ZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50
eHQKQEAgLTE5LDI5ICsxOSwyOSBAQCBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZp
Z2F0b3JJRDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGlu
Y2x1ZGVzIE5hdmlnYXRvckxhbmd1YWdlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBX
b3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yT25MaW5lOiBtZW1iZXIgbmFtZXMgYXJl
IHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29uY3VycmVu
dEhhcmR3YXJlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQotRkFJTCBQZXJtaXNzaW9uU3RhdHVz
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3Qg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVy
bWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3Np
bmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRf
b3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9u
U3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJ
TCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNz
aW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJt
aXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAi
Y29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQ
ZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5
ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgc3RhdGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBl
cm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbmNoYW5nZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVy
bWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIG11c3QgYmUgcHJp
bWFyeSBpbnRlcmZhY2Ugb2YgcGVybWlzc2lvblN0YXR1cyBhc3NlcnRfZXF1YWxzOiBVbmV4cGVj
dGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdv
dCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9u
U3RhdHVzIgotRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgcGVybWlzc2lvblN0YXR1cyBhc3NlcnRf
ZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVj
dGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBwZXJtaXNzaW9uU3RhdHVzIgotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTog
cGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0YXRlIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1
YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9y
OiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgotRkFJTCBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im9uY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVk
IGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBv
YmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3Rh
dHVzIgotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlz
c2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVy
bWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQ
ZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3Bl
cnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNz
aW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1p
c3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0
ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkg
IlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogb3BlcmF0
aW9uIHF1ZXJ5KG9iamVjdCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9u
cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9m
IG5hdmlnYXRvci5wZXJtaXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0
IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgU3RyaW5naWZpY2F0
aW9uIG9mIG5hdmlnYXRvci5wZXJtaXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Yg
b2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgUGVybWlz
c2lvbnMgaW50ZXJmYWNlOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJxdWVyeShvYmplY3QpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3
cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIK
LUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBjYWxsaW5nIHF1ZXJ5KG9iamVjdCkgb24gbmF2
aWdhdG9yLnBlcm1pc3Npb25zIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0
IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBwZXJtaXNzaW9ucyBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZl
IGEgcHJvcGVydHkgInBlcm1pc3Npb25zIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBO
YXZpZ2F0b3IgaW50ZXJmYWNlOiBuYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJwZXJt
aXNzaW9ucyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAi
cGVybWlzc2lvbnMiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK1BBU1MgUGVybWlzc2lv
blN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BB
U1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgUGVybWlzc2lv
blN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0
cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNj
b3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmli
dXRlIHN0YXRlCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25j
aGFuZ2UKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9m
IHBlcm1pc3Npb25TdGF0dXMKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIHBlcm1pc3Npb25TdGF0
dXMKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJzdGF0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKK1BBU1MgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvbmNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKK1BBU1MgUGVybWlzc2lvbnMg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAor
UEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9u
cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1Mg
UGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFBlcm1p
c3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9u
cyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeShvYmplY3QpCitQQVNTIFBlcm1pc3Npb25zIG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zCitQQVNTIFN0
cmluZ2lmaWNhdGlvbiBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMKK1BBU1MgUGVybWlzc2lvbnMg
aW50ZXJmYWNlOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJx
dWVyeShvYmplY3QpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRl
cmZhY2U6IGNhbGxpbmcgcXVlcnkob2JqZWN0KSBvbiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgd2l0
aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvcgorUEFTUyBOYXZpZ2F0b3Ig
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGVybWlzc2lvbnMKK1BBU1MgTmF2aWdhdG9yIGludGVyZmFj
ZTogbmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGVybWlzc2lvbnMiIHdpdGggdGhl
IHByb3BlciB0eXBlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlz
c2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA1MjU2MDJkMTZk
N2YwZjU0Y2E4ZWYwM2Y3ZmNmNWI0ZWVlZjMxNjk3Li4wNjJiMjk1N2YzMTU1MWIzNTJhNDk1NDE2
YzNmNGFiZmE1Nzk5ZTZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xOSwyNSAr
MTksMjUgQEAgUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJl
ciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0
b3JMYW5ndWFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9y
IGluY2x1ZGVzIE5hdmlnYXRvck9uTGluZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1Mg
V29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMi
IGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1p
c3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0
ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0
YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVy
dHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIg
bWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBw
cm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1
cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxl
cyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0
YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRl
IHN0YXRlIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVz
IiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25j
aGFuZ2UgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMi
IG1pc3NpbmcKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50
ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2Jq
ZWN0IG5hbWUKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlCitQQVNTIFBlcm1pc3Npb25TdGF0dXMg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UKIEZBSUwgUGVybWlzc2lvblN0YXR1cyBtdXN0
IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHBlcm1pc3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFsczog
VW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxs
IGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVy
bWlzc2lvblN0YXR1cyIKIEZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIHBlcm1pc3Npb25TdGF0dXMg
YXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVj
dCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKIEZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzdGF0ZSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hl
biBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKIEZBSUwgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvbmNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5l
eHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1
dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlz
c2lvblN0YXR1cyIKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkg
IlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3Qg
bGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcK
LUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
UGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJ
TCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMi
IGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9u
cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBxdWVyeShvYmplY3QpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVy
bWlzc2lvbnMiIG1pc3NpbmcKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9ucyBpbnRl
cmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IG5h
bWUKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1
bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG9wZXJhdGlv
biBxdWVyeShvYmplY3QpCiBGQUlMIFBlcm1pc3Npb25zIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZh
Y2Ugb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBv
YmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgogRkFJTCBTdHJpbmdp
ZmljYXRpb24gb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5
cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgogRkFJTCBQ
ZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG5hdmlnYXRvci5wZXJtaXNzaW9ucyBtdXN0IGluaGVyaXQg
cHJvcGVydHkgInF1ZXJ5KG9iamVjdCkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVh
bHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZp
bmVkIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNz
aW9uLWV4cGVjdGVkLnR4dAppbmRleCBjM2U4NjA1Zjg3Mjg3YTgwMzgxZjVkYjgwNmNkZDA1YTI1
NTY1ZGRlLi5jMmZkNjVlOGQ0MDAyYTcyMzAxODdhNjFmNTFjMjgyZWZjMWM2YmVjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Np
b25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVj
dGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IFdlYiBORkMgUGVybWlzc2lvbi4g
dW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5wZXJtaXNz
aW9ucy5xdWVyeScpCitQQVNTIFRlc3QgV2ViIE5GQyBQZXJtaXNzaW9uLgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25z
L3Blcm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0
cHMuc3ViLWV4cGVjdGVkLnR4dAppbmRleCBlNDJkZGEyNjEyZjI1N2I3ZjAyYmJlZWY2NTYzM2Iy
NWI3MzY0N2E1Li5jNGJhMjQ5MmU5OTE5OWQ2NjYwNWE4YzAxYWEwMTUxYjk2MjQ2MDc4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1p
c3Npb25zL3Blcm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5z
dWItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0
cmlidXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgUGVy
bWlzc2lvbnMuc3RhdGUgaXMgInByb21wdCIgd2l0aCBhbGxvdz0iZ2VvbG9jYXRpb24iIGluIHNh
bWUtb3JpZ2luIGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5x
dWVyeSgiZ2VvbG9jYXRpb24iKSBleHBlY3RlZCAoc3RyaW5nKSAicHJvbXB0IiBidXQgZ290IChv
YmplY3QpIG51bGwKLUZBSUwgUGVybWlzc2lvbnMuc3RhdGUgaXMgInByb21wdCIgd2l0aCBhbGxv
dz0iZ2VvbG9jYXRpb24iIGluIGNyb3NzLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBu
YXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgKHN0cmlu
ZykgInByb21wdCIgYnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIFBlcm1pc3Npb24uc3RhdGUg
aXMgInByb21wdCIgaW4gc2FtZS1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdh
dG9yLnBlcm1pc3Npb25zLnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJw
cm9tcHQiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAotRkFJTCBQZXJtaXNzaW9uLnN0YXRlIGlzICJk
ZW5pZWQiIGluIGNyb3NzLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3Iu
cGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgKHN0cmluZykgImRlbmll
ZCIgYnV0IGdvdCAob2JqZWN0KSBudWxsCitQQVNTIFBlcm1pc3Npb25zLnN0YXRlIGlzICJwcm9t
cHQiIHdpdGggYWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLgorUEFT
UyBQZXJtaXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93PSJnZW9sb2NhdGlvbiIg
aW4gY3Jvc3Mtb3JpZ2luIGlmcmFtZXMuCitQQVNTIFBlcm1pc3Npb24uc3RhdGUgaXMgInByb21w
dCIgaW4gc2FtZS1vcmlnaW4gaWZyYW1lcy4KK0ZBSUwgUGVybWlzc2lvbi5zdGF0ZSBpcyAiZGVu
aWVkIiBpbiBjcm9zcy1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBl
cm1pc3Npb25zLnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkICJkZW5pZWQiIGJ1dCBnb3Qg
InByb21wdCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lv
bnMvcGVybWlzc2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQKaW5kZXggMTFmYjFhMGQ2MTI0
ZGE5NGUwMDFlN2RkOTIzZTAxN2NlNjllNzhiYS4uMGU0ZWJjYzQ3Y2NiOTM4OTA4ZWNlODRjYzY4
ZjE1M2QwODUzNzlhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bl
cm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEs
MyBAQAogCi1GQUlMIFRlc3QgUGVybWlzc2lvblN0YXR1cydzIG5hbWUgYXR0cmlidXRlLiBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVy
bWlzc2lvbnMucXVlcnknKSIKK1BBU1MgVGVzdCBQZXJtaXNzaW9uU3RhdHVzJ3MgbmFtZSBhdHRy
aWJ1dGUuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGVybWlzc2lvbnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlz
c2lvbnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAppbmRleCA4NWM3
YmJhNWMyYjI0NTkzZjUxZTIxNDZiZTI1YmQxNmZhMDVmZjU4Li5kNjhiNjgwYjgxOWRlMTdjM2Fk
MzViZDU4ZTZmNTBkMTVhNmRiYWJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlz
c2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0
ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgInNjcmVlbi13YWtlLWxvY2siIFBl
cm1pc3Npb24uIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J25hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeScpIgorRkFJTCBUZXN0ICJzY3JlZW4td2FrZS1s
b2NrIiBQZXJtaXNzaW9uLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1i
YWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQt
ZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXggOWE5NDI2OWZiNzQzOGZjNjNiZTE4
ZDAwY2QyOTk3Y2M1OWJhOGRkNi4uNzg1YmI1ODVmNTE1OTVmZGVhMDUyMzQxNjcyMzgxM2M4ZGIy
MzE1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQK
QEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCBCYWNrZ3JvdW5kIEZldGNoIFBlcm1pc3Npb24u
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlz
c2lvbnMucXVlcnknKQorUEFTUyBUZXN0IEJhY2tncm91bmQgRmV0Y2ggUGVybWlzc2lvbi4KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1wZXJtaXNzaW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3Rl
ZC50eHQKaW5kZXggMzE2ZDM1MWEwZTA3NTRiMWU1MDliZjNjYTBhZGE0YjY0ZGUzNTZhNy4uNGU5
ZjM3YTg3NTZlYjE3YTJmYjg0ZjExNzAyYTE0M2E4NmI3MDk5YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBl
cmlvZGljLWJhY2tncm91bmQtc3luYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3Qt
cGVyaW9kaWMtYmFja2dyb3VuZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0xLDMg
KzEsMyBAQAogCi1GQUlMIFRlc3QgUGVyaW9kaWMgQmFja2dyb3VuZCBTeW5jIFBlcm1pc3Npb24u
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRv
ci5wZXJtaXNzaW9ucy5xdWVyeScpIgorRkFJTCBUZXN0IFBlcmlvZGljIEJhY2tncm91bmQgU3lu
YyBQZXJtaXNzaW9uLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azEvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNo
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvZmFzdC9kb20vbmF2
aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCBjNDZmZWM2NDA1OThi
ZGY5YmZlYzViZmI3NTExZDY3MDg3ZWMxYjZlLi5lMDgxNzAzNDU4MGEzZTJkMzJhMGMwYzVjNmRk
Y2Y1NDU3NTJjOTE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2Zh
c3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8t
Y3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xMyw2ICsxMyw3IEBAIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcyBpcyBPSwogbmF2aWdhdG9yLm1lZGlhU2Vzc2lvbiBpcyBPSwogbmF2aWdhdG9yLm1p
bWVUeXBlcyBpcyBPSwogbmF2aWdhdG9yLm9uTGluZSBpcyBPSworbmF2aWdhdG9yLnBlcm1pc3Np
b25zIGlzIE9LCiBuYXZpZ2F0b3IucGxhdGZvcm0gaXMgT0sKIG5hdmlnYXRvci5wbHVnaW5zIGlz
IE9LCiBuYXZpZ2F0b3IucHJvZHVjdCBpcyBPSwpAQCAtMzYsNiArMzcsNyBAQCBuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMgaXMgT0sKIG5hdmlnYXRvci5tZWRpYVNlc3Npb24gaXMgT0sKIG5h
dmlnYXRvci5taW1lVHlwZXMgaXMgT0sKIG5hdmlnYXRvci5vbkxpbmUgaXMgT0sKK25hdmlnYXRv
ci5wZXJtaXNzaW9ucyBpcyBPSwogbmF2aWdhdG9yLnBsYXRmb3JtIGlzIE9LCiBuYXZpZ2F0b3Iu
cGx1Z2lucyBpcyBPSwogbmF2aWdhdG9yLnByb2R1Y3QgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNy
YXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20v
bmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCBkZjkwMTA5MDRk
NTc3ZTg1YTA3NjY2N2E5MzdhZDc3ZTZkOGY1OTU3Li5jNjhkM2NhMGIzMGNkY2VlN2RlMWViN2Jl
NDEzNjlhMGJlZGI4M2JhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQt
bm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xOCw2ICsxOCw3IEBAIG5hdmlnYXRvci5tZWRpYUNh
cGFiaWxpdGllcyBpcyBPSwogbmF2aWdhdG9yLm1lZGlhU2Vzc2lvbiBpcyBPSwogbmF2aWdhdG9y
Lm1pbWVUeXBlcyBpcyBPSwogbmF2aWdhdG9yLm9uTGluZSBpcyBPSworbmF2aWdhdG9yLnBlcm1p
c3Npb25zIGlzIE9LCiBuYXZpZ2F0b3IucGxhdGZvcm0gaXMgT0sKIG5hdmlnYXRvci5wbHVnaW5z
IGlzIE9LCiBuYXZpZ2F0b3IucHJvZHVjdCBpcyBPSwpAQCAtNTEsNiArNTIsNyBAQCBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMgaXMgT0sKIG5hdmlnYXRvci5tZWRpYVNlc3Npb24gaXMgT0sK
IG5hdmlnYXRvci5taW1lVHlwZXMgaXMgT0sKIG5hdmlnYXRvci5vbkxpbmUgaXMgT0sKK25hdmln
YXRvci5wZXJtaXNzaW9ucyBpcyBPSwogbmF2aWdhdG9yLnBsYXRmb3JtIGlzIE9LCiBuYXZpZ2F0
b3IucGx1Z2lucyBpcyBPSwogbmF2aWdhdG9yLnByb2R1Y3QgaXMgT0sKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNmNlZTBmYTJkNGQ1ZGZmNmI5ZDYxODI3
ZWVlM2U5MTRkOTc5Yjk0NS4uNDA4YzhiNDFiYzQzY2ExYjMzZjA2NDc5MTBhMmJhNWM2NjMzNmRi
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTg2MCw0
ICs4NjAsNSBAQCBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3Blcm1pc3Npb24tZXJyb3IuaHRtbCBb
IFBhc3MgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1yZWNvZ25pdGlvbi10aGVuLXN0
b3AuaHRtbCBbIFBhc3MgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1zZWNvbmQtcmVj
b2duaXRpb24uaHRtbCBbIFBhc3MgXQogZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1lbnRlci13aGls
ZS1leGl0aW5nLmh0bWwgWyBQYXNzIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGVybWlzc2lvbnMvIFsgUGFzcyBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436681</attachid>
            <date>2021-08-27 15:26:51 -0700</date>
            <delta_ts>2021-08-27 17:20:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210827152650.patch</filename>
            <type>text/plain</type>
            <size>129040</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLjFiMGRhYjE5MTFhYTBiNzhjNGQ1MDliMjliYWIzNjgwYjkyMzI5
NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDgtMjcgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVu
Y2VzRXhwZXJpbWVudGFsLnlhbWw6CisKIDIwMjEtMDgtMjUgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHNvbWUgaU9TLXNwZWNpZmljIGNv
bXBpbGUtdGltZSBndWFyZHMgdGhhdCBhcmUgbm8gbG9uZ2VyIG5lZWRlZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGRhOTM1MmRkOGVmOWRjZDk1ZmJkNjcxMmI1NGViNGVlZmZlZDI1YzIuLmEyYWI3MTgxZGMzYTMz
YmRkNDU4YmU3ZGQxOTQxNDJlNjcyMWJjNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NyBAQAor
MjAyMS0wOC0yNyAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MjQ0
MjIwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgYmluZGluZ3MgY29kZSBhbmQgYSBmZWF0dXJlIGZsYWcgZm9yIFBlcm1pc3Npb25zIEFQSS4K
KyAgICAgICAgU3BlYzogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLworCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gUmViYXNlbGluZSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAg
ICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbDogQWRkZWQu
CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6Ok5hdmlnYXRv
clBlcm1pc3Npb25zKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpw
ZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6ZnJv
bSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6c3VwcGxlbWVudE5h
bWUpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMu
aDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uQ29udHJv
bGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0
b3I6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbkRlc2Ny
aXB0b3I6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3Jp
cHRvcjo6ZGVjb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uTmFtZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25OYW1lLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uT2JzZXJ2ZXIuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uU3RhdGUuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uU3RhdGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25TdGF0dXMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Np
b25TdGF0dXM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdHVzOjpQ
ZXJtaXNzaW9uU3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6On5Q
ZXJtaXNzaW9uU3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OnN0
YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdHVzOjphY3RpdmVE
T01PYmplY3ROYW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6
OnZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXR1czo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdHVzLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcm1p
c3Npb25zOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbnM6OlBlcm1pc3Np
b25zKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpuYXZpZ2F0b3IpOgorICAgICAg
ICAoV2ViQ29yZTo6UGVybWlzc2lvbnM6OnF1ZXJ5KToKKyAgICAgICAgKiBNb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25zLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGlu
Z3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cGVybWlzc2lvbkNvbnRyb2xsZXIpOgorICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZhY3Rvcnku
aW46CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnBlcm1pc3Npb25Db250cm9sbGVyKToKKyAg
ICAgICAgKiBkb20vVGFza1NvdXJjZS5oOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFnZUNvbmZpZ3VyYXRpb25XaXRoRW1wdHlDbGllbnRz
KToKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bV9wZXJtaXNz
aW9uQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpwZXJtaXNzaW9uQ29udHJv
bGxlcik6CisgICAgICAgIChXZWJDb3JlOjptX2h0dHBzVXBncmFkZUVuYWJsZWQpOiBEZWxldGVk
LgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1
cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmg6CisKIDIwMjEtMDgt
MjUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBDcmFzaCBpbiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cmVzaGFwZURpc3BsYXlCdWZmZXJC
YWNraW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IDQyNDFiMmU2ZmE3ODU0ZjE1ZmQzM2M2Y2E5YzdmZWIzN2JjMWRi
MjEuLmMxZDg4MTQxMTBmOThmNDlmYWEyYTU4MjM5NDBhYTc0NDM0YTMwMjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMjEtMDgtMjcgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgU2V0IHVwIGJhc2ljIGluZnJhc3RyY3R1cmUgb2YgcGVybWlzc2lvbiBn
ZXR0aW5nIGFuZCBzZXR0aW5nLgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBlcm1pc3Npb25Db250
cm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnF1ZXJ5
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnJlcXVlc3QpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVlcnlDYWNoZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRhdGVDYWNoZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQcm9jZXNzaW5nUmVx
dWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjphZGRPYnNl
cnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjpyZW1vdmVP
YnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjpwZXJt
aXNzaW9uQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
ZXJtaXNzaW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fYXBwSGlnaGxpZ2h0c1Zpc2libGUp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9y
TWFjLmg6CisKIDIwMjEtMDgtMjYgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29u
eS5jb20+CiAKICAgICAgICAgW2N1cmxdIFJFR1JFU1NJT04ocjI4MTE1OCk6IGZldGNoKCdodHRw
Oi8vbG9jYWxob3N0LycpIGZyb20gYWJvdXQ6YmxhbmsgZG9lc24ndCBlbWl0IHRoZSBjb25zb2xl
IGVycm9yIG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA0NWE1NDg2ZTA1
ODA1ZDk3YmMxZTQ4YjQ0ZjkzZGEzMDMyOGE2YTFkLi5mMDgwMzM1YWVlNzg4OGZmMTgxNDg0Y2M2
MzNlOGM3NGYyMjY3MTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMjEtMDgtMjcgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbklu
aXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6XSk6CisgICAgICAgICgtW1dlYlZp
ZXcgaW5pdFNpbXBsZUhUTUxEb2N1bWVudFdpdGhTdHlsZTpmcmFtZTpwcmVmZXJlbmNlczpncm91
cE5hbWU6XSk6CisKIDIwMjEtMDgtMjQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBbV0syXSBJbXBsZW1lbnQgcHJvY2Vzcy1zd2FwcGluZyBiYXNlZCBvbiBDcm9z
cy1PcmlnaW4tT3BlbmVyLVBvbGljeSBIVFRQIGhlYWRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdl
TG9nCmluZGV4IGUyODE1MTAyOThhOGM3MzY0MWRjNDA0OTU2OTdhMmRmNDVhNTEzY2EuLmJiNDRm
NzYwNTJkMWQxNjdiZTg0YmYwM2Y0ODM4NDk3ZTk2ZDRiM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wOC0yNyAgU2lodWkgTGl1ICA8c2lodWlf
bGl1QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MjQ0MjIwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmll
dzo6aW5pdFdpdGhGcmFtZSk6CisKIDIwMjEtMDgtMjQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBbV0syXSBJbXBsZW1lbnQgcHJvY2Vzcy1zd2FwcGluZyBiYXNl
ZCBvbiBDcm9zcy1PcmlnaW4tT3BlbmVyLVBvbGljeSBIVFRQIGhlYWRlcgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFs
LnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBl
cmltZW50YWwueWFtbAppbmRleCAxODVhNWFjMGY0NTRjNzZjMDM0NzkyYWQxODU3NjFmY2NhNjk0
OTkxLi41NTU0NjAwZGJjNjY1OGZhMWNhYjJkMDU4Y2Q1MzVkYWY1MjkzMWM5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50
YWwueWFtbAorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbApAQCAtODgxLDYgKzg4MSwxOCBAQCBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nU2Vuc2l0aXZlUHJvcGVydGllc0VuYWJsZWQ6CiAgICAgV2ViQ29yZToKICAgICAg
IGRlZmF1bHQ6IGZhbHNlCiAKK1Blcm1pc3Npb25zQVBJRW5hYmxlZDoKKyAgdHlwZTogYm9vbAor
ICBodW1hblJlYWRhYmxlTmFtZTogIlBlcm1pc3Npb25zIEFQSSIKKyAgaHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uOiAiRW5hYmxlIFBlcm1pc3Npb25zIEFQSSIKKyAgZGVmYXVsdFZhbHVlOgorICAg
IFdlYktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAg
ZGVmYXVsdDogZmFsc2UKKyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnREZWJ1Z01vZGVFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGh1
bWFuUmVhZGFibGVOYW1lOiAiUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudCBEZWJ1ZyBNb2RlIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCBiYmI4NDJhNTM5YTEwODdjOWUxZGI0NjNkMDE5ZGQyYjEy
MzE0MmM5Li4wN2U1ZTA1NThmNmRkZDQxMWVjNGNmNTk2ZGUzNDNmNDgzYzA5NzdiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtNDgsNiArNDgsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0lOQ0xV
REVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9uYXZpZ2F0b3Jjb250
ZW50dXRpbHMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbm90aWZpY2F0aW9ucyIKICAg
ICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9wYXltZW50cmVxdWVzdCIKKyAgICAiJHtXRUJDT1JF
X0RJUn0vTW9kdWxlcy9wZXJtaXNzaW9ucyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9w
aWN0dXJlaW5waWN0dXJlIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3BsdWdpbnMiCiAg
ICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcmVtb3RlcGxheWJhY2siCkBAIC0yMDEsNiArMjAy
LDcgQEAgc2V0KFdlYkNvcmVfSURMX0lOQ0xVREVTCiAgICAgTW9kdWxlcy9tb2RlbC1lbGVtZW50
CiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zCiAgICAgTW9kdWxlcy9wYXltZW50cmVxdWVzdAor
ICAgIE1vZHVsZXMvcGVybWlzc2lvbnMKICAgICBNb2R1bGVzL3NwZWVjaAogICAgIE1vZHVsZXMv
c3RyZWFtcwogICAgIE1vZHVsZXMvd2ViYXVkaW8KQEAgLTQ2MCw2ICs0NjIsMTMgQEAgc2V0KFdl
YkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1l
bnRTaGlwcGluZ1R5cGUuaWRsCiAgICAgTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFs
aWRhdGlvbkVycm9ycy5pZGwKIAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Bl
cm1pc3Npb25zLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0
b3IuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwKKyAgICBN
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwKKyAgICBNb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9ucy5pZGwKKwogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudCtQaWN0
dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudE9y
U2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGljdHVyZWlucGlj
dHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDM5YjJiMzAwNGU0YzU3OTQzN2U2
NWFjYTk3MzI3Yzc4ZDRkNzQ1ZGUuLjUxMWI1MTMxMjAwYWJlYzgzYmU0OTA3YTdiZTQxOTIzYTYy
ZjM2OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0Lnhj
ZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdApAQCAtMzg4LDYgKzM4OCwxMiBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdUeXBlLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVycm9ycy5pZGwKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5p
ZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRs
CiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwK
KyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwK
KyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGljdHVyZUluUGlj
dHVyZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVu
dE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9waWN0dXJlaW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmlkbApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCAxOTY3
MWY3NTA2ZDZhNzkzNzRjNWVhNDVhYzc3MWZjN2YxYjc5NTJiLi45YjQ4NGFiYTQ4YzJjNWNmYzYw
YWNlZWVjMjkzZWJjYTljMzk3MWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTM3Nyw2ICsxMzc3LDggQEAgJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFEZXZpY2Vz
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZp
Z2F0b3IrTWVkaWFEZXZpY2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vzc2lvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vzc2lvbi5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitQ
ZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTmF2aWdhdG9yK1Blcm1pc3Npb25zLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dlYkRyaXZlci5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dlYkRyaXZlci5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRv
citXZWJYUi5jcHAKQEAgLTE1ODMsNiArMTU4NSwxNiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZUNvbnN0cmFpbnRzLmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2RpY1dhdmVD
b25zdHJhaW50cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uRGVzY3JpcHRvci5jcHAK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lv
bkRlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNQZXJtaXNzaW9uTmFtZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbk5hbWUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdGUuY3BwCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0ZS5oCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0
dXMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bl
cm1pc3Npb25TdGF0dXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNQZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5QaWN0dXJlV2lu
ZG93LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGxh
eWJhY2tEaXJlY3Rpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBkNjRl
NjVlODZlNWUxMTQyNjY3YTllMzgyNzY4M2E5NjkyZjI3YWYxLi5mOWVlNjQyOGJhMGE1NGQ1NGMw
MjU3YWE2ZDZhMDAwMWUyZTQyMWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAg
LTMyNCw2ICszMjQsMTIgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ1R5cGUuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFZhbGlkYXRpb25F
cnJvcnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9y
K1Blcm1pc3Npb25zLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25EZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25OYW1lLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0ZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BpY3R1cmVp
bnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGljdHVyZUluUGljdHVyZS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50K1BpY3R1cmVJblBp
Y3R1cmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9FbnRl
clBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
SGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggZWIwN2I4
MGM5OTMzZDY5YThjMzYzMTkxOGM3NWRiZTRlMzdhOTJiOC4uNzZjZTBjNjYxZmVlODMwZDE3NmUz
NjFmNTc5ODczNWM3YWUxZTBjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMjksNiArMTI5LDEy
IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBNb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbi5oCiAgICAgTW9kdWxlcy9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oCiAKKyAgICBNb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Np
b25OYW1lLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZlci5oCisg
ICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaAorCiAgICAgTW9kdWxlcy9w
bHVnaW5zL1BsdWdpblJlcGxhY2VtZW50LmgKICAgICBNb2R1bGVzL3BsdWdpbnMvWW91VHViZVBs
dWdpblJlcGxhY2VtZW50LmgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYw
YjEyN2U3ZjNhMWM1NjY2Y2QwZDBjODhmZTkxMWU5NmM4MzRmNjUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9u
cy5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1
Yi5pby9wZXJtaXNzaW9ucy8jbmF2aWdhdG9yLWFuZC13b3JrZXJuYXZpZ2F0b3ItZXh0ZW5zaW9u
CisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorICAgIEltcGxlbWVu
dGVkQnk9TmF2aWdhdG9yUGVybWlzc2lvbnMKK10gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9y
IHsKKyAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFBlcm1pc3Npb25zIHBlcm1p
c3Npb25zOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lv
bnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkxZjU1NTg4NmQ4
ZTcxYTM0OWVlNzViZjNjNDE2ZjAyZjFjNDdhYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwCkBAIC0w
LDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
TmF2aWdhdG9yUGVybWlzc2lvbnMuaCIKKworI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1
ZGUgIlBlcm1pc3Npb25zLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTmF2aWdhdG9yUGVy
bWlzc2lvbnM6Ok5hdmlnYXRvclBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9yKQorICAg
IDogbV9uYXZpZ2F0b3IobmF2aWdhdG9yKQoreworfQorCitSZWZQdHI8UGVybWlzc2lvbnM+IE5h
dmlnYXRvclBlcm1pc3Npb25zOjpwZXJtaXNzaW9ucyhOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sK
KyAgICByZXR1cm4gTmF2aWdhdG9yUGVybWlzc2lvbnM6OmZyb20obmF2aWdhdG9yKS0+cGVybWlz
c2lvbnMoKTsKK30KKworUmVmUHRyPFBlcm1pc3Npb25zPiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6
cGVybWlzc2lvbnMoKQoreworICAgIGlmICghbV9wZXJtaXNzaW9ucykKKyAgICAgICAgbV9wZXJt
aXNzaW9ucyA9IFBlcm1pc3Npb25zOjpjcmVhdGUobV9uYXZpZ2F0b3IpOworCisgICAgcmV0dXJu
IG1fcGVybWlzc2lvbnM7Cit9CisKK05hdmlnYXRvclBlcm1pc3Npb25zKiBOYXZpZ2F0b3JQZXJt
aXNzaW9uczo6ZnJvbShOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICBhdXRvKiBzdXBwbGVt
ZW50ID0gc3RhdGljX2Nhc3Q8TmF2aWdhdG9yUGVybWlzc2lvbnMqPihTdXBwbGVtZW50PE5hdmln
YXRvcj46OmZyb20oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSkpOworICAgIGlmICghc3Vw
cGxlbWVudCkgeworICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVlPE5hdmln
YXRvclBlcm1pc3Npb25zPihuYXZpZ2F0b3IpOworICAgICAgICBzdXBwbGVtZW50ID0gbmV3U3Vw
cGxlbWVudC5nZXQoKTsKKyAgICAgICAgcHJvdmlkZVRvKCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnRO
YW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOworICAgIH0KKworICAgIHJldHVybiBzdXBw
bGVtZW50OworfQorCitjb25zdCBjaGFyKiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6c3VwcGxlbWVu
dE5hbWUoKQoreworICAgIHJldHVybiAiTmF2aWdhdG9yUGVybWlzc2lvbnMiOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBhNzM5ZGE3
MTQ0MGM3YTMzYjIzMmNhZTk4MzUyMDE5ZmRhNDQ0YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaApAQCAt
MCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJTdXBw
bGVtZW50YWJsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmlnYXRvcjsK
K2NsYXNzIFBlcm1pc3Npb25zOworCitjbGFzcyBOYXZpZ2F0b3JQZXJtaXNzaW9ucyBmaW5hbCA6
IHB1YmxpYyBTdXBwbGVtZW50PE5hdmlnYXRvcj4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgorICAgIGV4cGxpY2l0IE5hdmlnYXRvclBlcm1pc3Npb25zKE5hdmlnYXRv
ciYpOworCisgICAgc3RhdGljIFJlZlB0cjxQZXJtaXNzaW9ucz4gcGVybWlzc2lvbnMoTmF2aWdh
dG9yJik7CisgICAgUmVmUHRyPFBlcm1pc3Npb25zPiBwZXJtaXNzaW9ucygpOworCitwcml2YXRl
OgorICAgIHN0YXRpYyBOYXZpZ2F0b3JQZXJtaXNzaW9ucyogZnJvbShOYXZpZ2F0b3ImKTsKKyAg
ICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKKworICAgIFJlZlB0cjxQZXJt
aXNzaW9ucz4gbV9wZXJtaXNzaW9uczsKKyAgICBOYXZpZ2F0b3ImIG1fbmF2aWdhdG9yOworfTsK
KworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uQ29udHJvbGxlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZhN2QzYWE2NGVmNjFlM2I0NWU1Yzk0
OTFlNmU5MzU1MTI1MzUzMWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgKQEAgLTAsMCArMSw1NSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXRlLmgi
CisjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CisjaW5jbHVkZSA8d3RmL1RocmVh
ZFNhZmVSZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVybWlz
c2lvbk9ic2VydmVyOworc3RydWN0IENsaWVudE9yaWdpbjsKK3N0cnVjdCBQZXJtaXNzaW9uRGVz
Y3JpcHRvcjsKKworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXIgOiBwdWJsaWMgVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQ8UGVybWlzc2lvbkNvbnRyb2xsZXI+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJtaXNzaW9uQ29udHJvbGxlcigpID0g
ZGVmYXVsdDsKKyAgICB2aXJ0dWFsIFBlcm1pc3Npb25TdGF0ZSBxdWVyeShDbGllbnRPcmlnaW4m
JiwgUGVybWlzc2lvbkRlc2NyaXB0b3ImJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0
KENsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFBlcm1pc3Npb25TdGF0ZSk+JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkT2Jz
ZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZW1vdmVP
YnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSA9IDA7Cit9OworCitjbGFzcyBEdW1teVBlcm1p
c3Npb25Db250cm9sbGVyIGZpbmFsIDogcHVibGljIFBlcm1pc3Npb25Db250cm9sbGVyIHsKKyAg
ICBQZXJtaXNzaW9uU3RhdGUgcXVlcnkoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlw
dG9yJiYpIGZpbmFsIHsgcmV0dXJuIFBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkOyB9CisgICAgdm9p
ZCByZXF1ZXN0KENsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFBlcm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpIGZp
bmFsIHsgY29tcGxldGlvbkhhbmRsZXIoUGVybWlzc2lvblN0YXRlOjpEZW5pZWQpOyB9CisgICAg
dm9pZCBhZGRPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSBmaW5hbCB7IH0KKyAgICB2b2lk
IHJlbW92ZU9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpIGZpbmFsIHsgfQorfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlODRiMmQ0
Yzc3YTk4ZTk1YjY2NDk4ZGM0ZDBiMzhhOTA4OWUxZTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKQEAg
LTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVy
bWlzc2lvbk5hbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUGVybWlzc2lv
bkRlc2NyaXB0b3IgeworICAgIFBlcm1pc3Npb25OYW1lIG5hbWU7CisKKyAgICBib29sIG9wZXJh
dG9yPT0oY29uc3QgUGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IpIGNvbnN0IHsgcmV0
dXJuIG5hbWUgPT0gZGVzY3JpcHRvci5uYW1lOyB9CisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rl
cj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29k
ZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFBlcm1pc3Npb25EZXNjcmlwdG9yPiBkZWNvZGUoRGVj
b2RlciYpOworfTsKKwordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gaW5saW5lIHZvaWQgUGVybWlz
c2lvbkRlc2NyaXB0b3I6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVu
Y29kZXIgPDwgbmFtZTsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RkOjpvcHRpb25h
bDxQZXJtaXNzaW9uRGVzY3JpcHRvcj4gUGVybWlzc2lvbkRlc2NyaXB0b3I6OmRlY29kZShEZWNv
ZGVyJiBkZWNvZGVyKQoreworICAgIFBlcm1pc3Npb25EZXNjcmlwdG9yIHJlc3VsdDsKKyAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5uYW1lKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bkRlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uRGVzY3JpcHRvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGYzNmEzMmEyY2NjZDMzOTkzOWI3ZGU4
MzVkZmVkYmJmNGY1N2NjOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEsMzIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2RpY3Rk
ZWYtcGVybWlzc2lvbmRlc2NyaXB0b3IKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlz
c2lvbnNBUEksCitdIGRpY3Rpb25hcnkgUGVybWlzc2lvbkRlc2NyaXB0b3IgeworICAgIHJlcXVp
cmVkIFBlcm1pc3Npb25OYW1lIG5hbWU7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMDllMTkwZjIy
NzU2ZWEyMTMwOTc1MDQyODNkNDkyNjNjN2M1NzEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmgKQEAgLTAsMCArMSw2
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2VudW0gY2xhc3MgUGVybWlzc2lvbk5hbWUgOiB1aW50OF90IHsKKyAgICBBY2NlbGVyb21ldGVy
LAorICAgIEJhY2tncm91bmRGZXRjaCwKKyAgICBCbHVldG9vdGgsCisgICAgQ2FtZXJhLAorICAg
IERpc3BsYXlDYXB0dXJlLAorICAgIEdlb2xvY2F0aW9uLAorICAgIEd5cm9zY29wZSwKKyAgICBN
YWduZXRvbWV0ZXIsCisgICAgTWljcm9waG9uZSwKKyAgICBNaWRpLAorICAgIE5mYywKKyAgICBO
b3RpZmljYXRpb25zLAorICAgIFNwZWFrZXJTZWxlY3Rpb24KK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFp
dHM8V2ViQ29yZTo6UGVybWlzc2lvbk5hbWU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFs
dWVzPAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZSwKKyAgICAgICAgV2ViQ29yZTo6
UGVybWlzc2lvbk5hbWU6OkFjY2VsZXJvbWV0ZXIsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Np
b25OYW1lOjpCYWNrZ3JvdW5kRmV0Y2gsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1l
OjpCbHVldG9vdGgsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpDYW1lcmEsCisg
ICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpEaXNwbGF5Q2FwdHVyZSwKKyAgICAgICAg
V2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Okdlb2xvY2F0aW9uLAorICAgICAgICBXZWJDb3JlOjpQ
ZXJtaXNzaW9uTmFtZTo6R3lyb3Njb3BlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFt
ZTo6TWFnbmV0b21ldGVyLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6TWljcm9w
aG9uZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok1pZGksCisgICAgICAgIFdl
YkNvcmU6OlBlcm1pc3Npb25OYW1lOjpOZmMsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25O
YW1lOjpOb3RpZmljYXRpb25zLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6U3Bl
YWtlclNlbGVjdGlvbgorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZWQ4YmUwZmQ3NWMyY2NiN2Q4YWY5ZTliOTY2MTczZWY2MTg3ZDg2YwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvbk5hbWUuaWRsCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3cz
Yy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1kZWYtcGVybWlzc2lvbm5hbWUKKworWworICAg
IEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCitdIGVudW0gUGVybWlzc2lvbk5hbWUg
eworICAgIC8vIEZJWE1FOiB1cGRhdGUgdGhlIGxpc3QgdG8gbWF0Y2ggc3BlYyB3aGVuIG5ldyBm
ZWF0dXJlcyBhcmUgaW1wbGVtZW50ZWQuCisgICAgImFjY2VsZXJvbWV0ZXIiLAorICAgICJiYWNr
Z3JvdW5kLWZldGNoIiwKKyAgICAiYmx1ZXRvb3RoIiwKKyAgICAiY2FtZXJhIiwKKyAgICAiZGlz
cGxheS1jYXB0dXJlIiwKKyAgICAiZ2VvbG9jYXRpb24iLAorICAgICJneXJvc2NvcGUiLAorICAg
ICJtYWduZXRvbWV0ZXIiLAorICAgICJtaWNyb3Bob25lIiwKKyAgICAibWlkaSIsCisgICAgIm5m
YyIsCisgICAgIm5vdGlmaWNhdGlvbnMiLAorICAgICJzcGVha2VyLXNlbGVjdGlvbiIKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25P
YnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
T2JzZXJ2ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTdkNmRhNTkxZDdkNjRhYmVhYjhjYmNiYTYzYmMxYTFm
MjViMGE4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uT2JzZXJ2ZXIuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdGUuaCIKKyNpbmNsdWRlIDx3
dGYvV2Vha1B0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBDbGllbnRPcmln
aW47CitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7CisKK2NsYXNzIFBlcm1pc3Npb25PYnNl
cnZlciA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQZXJtaXNzaW9uT2JzZXJ2ZXI+IHsKK3B1Ymxp
YzoKKyAgICB2aXJ0dWFsIH5QZXJtaXNzaW9uT2JzZXJ2ZXIoKSA9IGRlZmF1bHQ7CisKKyAgICB2
aXJ0dWFsIHZvaWQgc3RhdGVDaGFuZ2VkKFBlcm1pc3Npb25TdGF0ZSkgPSAwOworICAgIHZpcnR1
YWwgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4oKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBj
b25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNvbnN0ID0gMDsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjYWRmNTIwMWUwYzM3
YjMwZjRiNzJlYTA4MDQwODU4NGI4ODg0ODQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCkBAIC0wLDAgKzEsNTEg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRz
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBQZXJtaXNzaW9uU3RhdGUg
OiB1aW50OF90IHsKKyAgICBHcmFudGVkLAorICAgIERlbmllZCwKKyAgICBQcm9tcHQKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4g
c3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6UGVybWlzc2lvblN0YXRlPiB7CisgICAgdXNpbmcg
dmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlLAor
ICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkdyYW50ZWQsCisgICAgICAgIFdlYkNv
cmU6OlBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9u
U3RhdGU6OlByb21wdAorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43NTc3OTc4MTJkMTk4NjllZjNlNTFhMmRiOWVhOGE3YWYxNjhhYzliCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uU3RhdGUuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczov
L3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1kZWYtcGVybWlzc2lvbnN0YXRlCisKK1sK
KyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBlbnVtIFBlcm1pc3Npb25T
dGF0ZSB7CisgICAgImdyYW50ZWQiLAorICAgICJkZW5pZWQiLAorICAgICJwcm9tcHQiCit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
U3RhdHVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
blN0YXR1cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWFiZDE2YTFmMmVmZGE2NjQ2Y2NhY2Y1NTdlOTE3YzEz
Yzk0ODgxNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKQEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdHVzLmgiCisKKyNp
bmNsdWRlICJDbGllbnRPcmlnaW4uaCIKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVk
ZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSA8
d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFL
RV9JU09fQUxMT0NBVEVEX0lNUEwoUGVybWlzc2lvblN0YXR1cyk7CisKK1JlZjxQZXJtaXNzaW9u
U3RhdHVzPiBQZXJtaXNzaW9uU3RhdHVzOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgUGVybWlzc2lvblN0YXRlIHN0YXRlLCBQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNj
cmlwdG9yKQoreworICAgIGF1dG8gc3RhdHVzID0gYWRvcHRSZWYoKm5ldyBQZXJtaXNzaW9uU3Rh
dHVzKGNvbnRleHQsIHN0YXRlLCBkZXNjcmlwdG9yKSk7CisgICAgc3RhdHVzLT5zdXNwZW5kSWZO
ZWVkZWQoKTsKKyAgICByZXR1cm4gc3RhdHVzOworfQorCitQZXJtaXNzaW9uU3RhdHVzOjpQZXJt
aXNzaW9uU3RhdHVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFBlcm1pc3Npb25T
dGF0ZSBzdGF0ZSwgUGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikKKyAgICA6IEFjdGl2
ZURPTU9iamVjdCgmY29udGV4dCkKKyAgICAsIG1fc3RhdGUoc3RhdGUpCisgICAgLCBtX2Rlc2Ny
aXB0b3IoZGVzY3JpcHRvcikKKyAgICAsIG1fY29udHJvbGxlcihjb250ZXh0LnBlcm1pc3Npb25D
b250cm9sbGVyKCkpCit7CisgICAgYXV0byogb3JpZ2luID0gY29udGV4dC5zZWN1cml0eU9yaWdp
bigpOworICAgIGF1dG8gb3JpZ2luRGF0YSA9IG9yaWdpbiA/IG9yaWdpbi0+ZGF0YSgpIDogU2Vj
dXJpdHlPcmlnaW5EYXRhIHsgfTsKKyAgICBtX29yaWdpbiA9IENsaWVudE9yaWdpbiB7IGNvbnRl
eHQudG9wT3JpZ2luKCkuZGF0YSgpLCBvcmlnaW5EYXRhIH07Cit9CisKK1Blcm1pc3Npb25TdGF0
dXM6On5QZXJtaXNzaW9uU3RhdHVzKCkKK3sKKyAgICBpZiAobV9jb250cm9sbGVyKQorICAgICAg
ICBtX2NvbnRyb2xsZXItPnJlbW92ZU9ic2VydmVyKCp0aGlzKTsKK30KKwordm9pZCBQZXJtaXNz
aW9uU3RhdHVzOjpzdGF0ZUNoYW5nZWQoUGVybWlzc2lvblN0YXRlIG5ld1N0YXRlKQoreworICAg
IGlmIChtX3N0YXRlID09IG5ld1N0YXRlKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3N0YXRl
ID0gbmV3U3RhdGU7CisgICAgbV9oYXNQZW5kaW5nQWN0aXZpdHkgPSB0cnVlOworICAgIHF1ZXVl
VGFza1RvRGlzcGF0Y2hFdmVudCgqdGhpcywgVGFza1NvdXJjZTo6UGVybWlzc2lvbiwgRXZlbnQ6
OmNyZWF0ZShldmVudE5hbWVzKCkuY2hhbmdlRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBF
dmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworfQorCitjb25zdCBjaGFyKiBQZXJtaXNzaW9uU3Rh
dHVzOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIlBlcm1pc3Np
b25TdGF0dXMiOworfQorCitib29sIFBlcm1pc3Npb25TdGF0dXM6OnZpcnR1YWxIYXNQZW5kaW5n
QWN0aXZpdHkoKSBjb25zdAoreworICAgIHJldHVybiBoYXNFdmVudExpc3RlbmVycyhldmVudE5h
bWVzKCkuY2hhbmdlRXZlbnQpIHx8IG1faGFzUGVuZGluZ0FjdGl2aXR5OworfQorCit2b2lkIFBl
cm1pc3Npb25TdGF0dXM6OmRpc3BhdGNoRXZlbnQoRXZlbnQmIGV2ZW50KQoreworICAgIGlmICht
X2hhc1BlbmRpbmdBY3Rpdml0eSAmJiBldmVudC5pc1RydXN0ZWQoKSkKKyAgICAgICAgbV9oYXNQ
ZW5kaW5nQWN0aXZpdHkgPSBmYWxzZTsKKworICAgIEV2ZW50VGFyZ2V0OjpkaXNwYXRjaEV2ZW50
KGV2ZW50KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OGI1OTM5NTJkN2Y0MDk3NDNmMzliNjViMjVlOTljNTQ1MjcwOWU1Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVz
LmgKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCisjaW5jbHVk
ZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uRGVzY3JpcHRvci5oIgorI2lu
Y2x1ZGUgIlBlcm1pc3Npb25OYW1lLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbk9ic2VydmVyLmgi
CisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXI7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0
OworCitjbGFzcyBQZXJtaXNzaW9uU3RhdHVzIGZpbmFsIDogcHVibGljIFBlcm1pc3Npb25PYnNl
cnZlciwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIFJlZkNvdW50ZWQ8UGVybWlzc2lv
blN0YXR1cz4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhICB7CisgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChQZXJtaXNzaW9uU3RhdHVzKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UmVmPFBlcm1pc3Npb25TdGF0dXM+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUGVy
bWlzc2lvblN0YXRlLCBQZXJtaXNzaW9uRGVzY3JpcHRvcik7CisgICAgflBlcm1pc3Npb25TdGF0
dXMoKTsKKworICAgIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Rh
dGU7IH0KKyAgICBQZXJtaXNzaW9uTmFtZSBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kZXNjcmlw
dG9yLm5hbWU7IH0KKworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKKyAgICB1c2luZyBSZWZD
b3VudGVkOjpkZXJlZjsKKworICAgIHVzaW5nIFBlcm1pc3Npb25PYnNlcnZlcjo6d2Vha1B0ckZh
Y3Rvcnk7CisgICAgdXNpbmcgV2Vha1ZhbHVlVHlwZSA9IFBlcm1pc3Npb25PYnNlcnZlcjo6V2Vh
a1ZhbHVlVHlwZTsKKworcHJpdmF0ZToKKyAgICBQZXJtaXNzaW9uU3RhdHVzKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmLCBQZXJtaXNzaW9uU3RhdGUsIFBlcm1pc3Npb25EZXNjcmlwdG9yKTsKKwor
ICAgIC8vIFBlcm1pc3Npb25PYnNlcnZlcgorICAgIHZvaWQgc3RhdGVDaGFuZ2VkKFBlcm1pc3Np
b25TdGF0ZSkgZmluYWw7CisgICAgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4oKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX29yaWdpbjsgfQorICAgIGNvbnN0IFBlcm1pc3Npb25EZXNjcmlwdG9y
JiBkZXNjcmlwdG9yKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9kZXNjcmlwdG9yOyB9CisKKyAg
ICAvLyBBY3RpdmVET01PYmplY3QKKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1l
KCkgY29uc3QgZmluYWw7CisgICAgYm9vbCB2aXJ0dWFsSGFzUGVuZGluZ0FjdGl2aXR5KCkgY29u
c3QgZmluYWw7CisKKyAgICAvLyBFdmVudFRhcmdldAorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBBY3RpdmVE
T01PYmplY3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQorICAgIEV2ZW50VGFyZ2V0SW50
ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gUGVybWlz
c2lvblN0YXR1c0V2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQorICAgIHZvaWQgcmVmRXZlbnRU
YXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmlu
YWwgeyBkZXJlZigpOyB9CisgICAgdm9pZCBkaXNwYXRjaEV2ZW50KEV2ZW50Jikgb3ZlcnJpZGU7
CisKKyAgICBQZXJtaXNzaW9uU3RhdGUgbV9zdGF0ZTsKKyAgICBQZXJtaXNzaW9uRGVzY3JpcHRv
ciBtX2Rlc2NyaXB0b3I7CisgICAgQ2xpZW50T3JpZ2luIG1fb3JpZ2luOworICAgIFJlZlB0cjxQ
ZXJtaXNzaW9uQ29udHJvbGxlcj4gbV9jb250cm9sbGVyOworICAgIGJvb2wgbV9oYXNQZW5kaW5n
QWN0aXZpdHkgeyBmYWxzZSB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVz
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1
cy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZGI3ODE0MmU2OTllMjBlNmJlODZjYzVjZTIwNTZkMWRlYjY5MmVk
MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvblN0YXR1cy5pZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisgCisvLyBo
dHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI3Blcm1pc3Npb25zdGF0dXMKKworWwor
ICAgIEFjdGl2ZURPTU9iamVjdCwKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJ
LAorICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpCitdIGludGVyZmFjZSBQZXJtaXNzaW9uU3Rh
dHVzIDogRXZlbnRUYXJnZXQgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQZXJtaXNzaW9uU3Rh
dGUgc3RhdGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFBlcm1pc3Npb25OYW1lIG5hbWU7Cisg
ICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmNoYW5nZTsKK307CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJh
ZDM0Yzk0YWIzNDc3MmM3ZWI2NjY3MmRhMmMwODY2ZDE4YjkzODgKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcApAQCAt
MCwwICsxLDk0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IlBlcm1pc3Npb25zLmgiCisKKyNpbmNsdWRlICJFeGNlcHRpb24uaCIKKyNpbmNsdWRlICJGcmFt
ZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSlNQZXJt
aXNzaW9uRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIkpTUGVybWlzc2lvblN0YXR1cy5oIgorI2lu
Y2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJQZXJtaXNz
aW9uQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25EZXNjcmlwdG9yLmgiCisjaW5j
bHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitX
VEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUGVybWlzc2lvbnMpOworCitSZWY8UGVybWlzc2lv
bnM+IFBlcm1pc3Npb25zOjpjcmVhdGUoTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCit7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgUGVybWlzc2lvbnMobmF2aWdhdG9yKSk7Cit9CisKK1Blcm1pc3Np
b25zOjpQZXJtaXNzaW9ucyhOYXZpZ2F0b3ImIG5hdmlnYXRvcikKKyAgICA6IG1fbmF2aWdhdG9y
KG1ha2VXZWFrUHRyKG5hdmlnYXRvcikpCit7CisgICAgaWYgKGF1dG8gY29udGV4dCA9IG5hdmln
YXRvci5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCisgICAgICAgIG1fY29udHJvbGxlciA9IGNv
bnRleHQtPnBlcm1pc3Npb25Db250cm9sbGVyKCk7Cit9CisKK05hdmlnYXRvciogUGVybWlzc2lv
bnM6Om5hdmlnYXRvcigpCit7CisgICAgcmV0dXJuIG1fbmF2aWdhdG9yLmdldCgpOworfQorCit2
b2lkIFBlcm1pc3Npb25zOjpxdWVyeShKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiBwZXJtaXNz
aW9uRGVzY3JpcHRvclZhbHVlLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPFBlcm1p
c3Npb25TdGF0dXM+PiYmIHByb21pc2UpCit7CisgICAgLy8gRklYTUU6IHN1cHBvcnQgcGVybWlz
c2lvbnMgaW4gV29ya2VyTmF2aWdhdG9yLgorICAgIGlmICghbV9jb250cm9sbGVyKSB7CisgICAg
ICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yIH0pOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byBjb250ZXh0ID0gbV9uYXZpZ2F0b3IgPyBt
X25hdmlnYXRvci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIDogbnVsbHB0cjsKKyAgICBpZiAo
IWNvbnRleHQgfHwgIWNvbnRleHQtPmdsb2JhbE9iamVjdCgpKSB7CisgICAgICAgIHByb21pc2Uu
cmVqZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yLCAiVGhlIGNvbnRleHQgaXMgaW52
YWxpZCIgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIXBlcm1pc3Npb25E
ZXNjcmlwdG9yVmFsdWUpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgRGF0
YUVycm9yLCAiVGhlIHBhcmFtZXRlciBpcyBpbnZhbGlkIl9zIH0pOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgSlNDOjpWTSYgdm0gPSBjb250ZXh0LT5nbG9iYWxPYmplY3QoKS0+dm0o
KTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgYXV0byBw
YXJhbWV0ZXJEZXNjcmlwdG9yID0gY29udmVydDxJRExEaWN0aW9uYXJ5PFBlcm1pc3Npb25EZXNj
cmlwdG9yPj4oKmNvbnRleHQtPmdsb2JhbE9iamVjdCgpLCBwZXJtaXNzaW9uRGVzY3JpcHRvclZh
bHVlLmdldCgpKTsKKyAgICBpZiAoVU5MSUtFTFkoc2NvcGUuZXhjZXB0aW9uKCkpKSB7CisgICAg
ICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEV4aXN0aW5nRXhjZXB0aW9uRXJyb3IgfSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvKiBvcmlnaW4gPSBjb250ZXh0LT5z
ZWN1cml0eU9yaWdpbigpOworICAgIGF1dG8gb3JpZ2luRGF0YSA9IG9yaWdpbiA/IG9yaWdpbi0+
ZGF0YSgpIDogU2VjdXJpdHlPcmlnaW5EYXRhIHsgfTsKKyAgICBhdXRvIHBlcm1pc3Npb25TdGF0
ZSA9IG1fY29udHJvbGxlci0+cXVlcnkoQ2xpZW50T3JpZ2luIHsgY29udGV4dC0+dG9wT3JpZ2lu
KCkuZGF0YSgpLCBvcmlnaW5EYXRhIH0sIFBlcm1pc3Npb25EZXNjcmlwdG9yIHsgcGFyYW1ldGVy
RGVzY3JpcHRvciB9KTsKKyAgICBwcm9taXNlLnJlc29sdmUoUGVybWlzc2lvblN0YXR1czo6Y3Jl
YXRlKCpjb250ZXh0LCBwZXJtaXNzaW9uU3RhdGUsIHBhcmFtZXRlckRlc2NyaXB0b3IpKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhMzhmZjM0OGZlNDY5M2YwMjA4
NDk5MjFmNWRhOTQ2NDIxOGYxMDMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKKyNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9TdHJvbmcuaD4KKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5j
bHVkZSA8d3RmL1dlYWtQdHIuaD4KKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBKU09iamVjdDsK
K30gLy8gbmFtZXNwYWNlIEpTQworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmln
YXRvcjsKK2NsYXNzIFBlcm1pc3Npb25Db250cm9sbGVyOworY2xhc3MgUGVybWlzc2lvblN0YXR1
czsKKwordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVk
OworCitjbGFzcyBQZXJtaXNzaW9ucyBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcm1pc3Np
b25zPiB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChQZXJtaXNzaW9ucyk7CitwdWJsaWM6
CisgICAgc3RhdGljIFJlZjxQZXJtaXNzaW9ucz4gY3JlYXRlKE5hdmlnYXRvciYpOworCisgICAg
TmF2aWdhdG9yKiBuYXZpZ2F0b3IoKTsKKyAgICB2b2lkIHF1ZXJ5KEpTQzo6U3Ryb25nPEpTQzo6
SlNPYmplY3Q+LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPFBlcm1pc3Npb25TdGF0
dXM+PiYmKTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBQZXJtaXNzaW9ucyhOYXZpZ2F0b3Im
KTsKKworICAgIFdlYWtQdHI8TmF2aWdhdG9yPiBtX25hdmlnYXRvcjsKKyAgICBSZWZQdHI8UGVy
bWlzc2lvbkNvbnRyb2xsZXI+IG1fY29udHJvbGxlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY4YWE2MTJhNTA3YjM4MDU0MGE2NzBiZTY0NWFiNjZlZjQz
ODFkZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbnMuaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRw
czovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI3Blcm1pc3Npb25zLWludGVyZmFjZQorCitb
CisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKKyAgICBHZW5lcmF0ZUlzUmVh
Y2hhYmxlPVJlYWNoYWJsZUZyb21OYXZpZ2F0b3IsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZU
YWJsZSwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKQorXSBpbnRlcmZhY2UgUGVybWlzc2lv
bnMgeworICAgIFByb21pc2U8UGVybWlzc2lvblN0YXR1cz4gcXVlcnkob2JqZWN0IHBlcm1pc3Np
b25EZXNjKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDZkNTlkYzNmZDg3ODRhYzM1NzYwYWRkZjVk
OTIwNThkMjU4NGQwN2IuLjg5MTA1NDk3MzE5YTZiMDRlMThmZTUyZTQ1MWVkNGVlOWE0ZjE1MjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CkBAIC0yMDMsNiArMjAzLDkgQEAgTW9kdWxlcy9wYXltZW50cmVxdWVz
dC9QYXltZW50UmVxdWVzdC5jcHAKIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVl
c3RVcGRhdGVFdmVudC5jcHAKIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RV
dGlsaXRpZXMuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5jcHAK
K01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwCitNb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuY3BwCitNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25zLmNwcAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50UGljdHVyZUluUGlj
dHVyZS5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVF
dmVudC5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9IVE1MVmlkZW9FbGVtZW50UGljdHVy
ZUluUGljdHVyZS5jcHAKQEAgLTMyNzIsNiArMzI3NSwxMSBAQCBKU1BlcmZvcm1hbmNlVGltaW5n
LmNwcAogSlNQZXJpb2RpY1dhdmUuY3BwCiBKU1BlcmlvZGljV2F2ZUNvbnN0cmFpbnRzLmNwcAog
SlNQZXJpb2RpY1dhdmVPcHRpb25zLmNwcAorSlNQZXJtaXNzaW9uRGVzY3JpcHRvci5jcHAKK0pT
UGVybWlzc2lvbk5hbWUuY3BwCitKU1Blcm1pc3Npb25TdGF0ZS5jcHAKK0pTUGVybWlzc2lvblN0
YXR1cy5jcHAKK0pTUGVybWlzc2lvbnMuY3BwCiBKU1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuY3Bw
CiBKU1BsYXliYWNrRGlyZWN0aW9uLmNwcAogSlNQb2ludGVyRXZlbnQuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDBhYTBl
OGQyYjliOTEwNzNiOTgzYTY4Y2Y1OWY3ZTY2YTJhNTM3NS4uMzZhZGVlZDQ5ZDEwZjg3YTYxODFk
ODMyODNlYjg3NjQ4NDhhZGRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjg4MCw2ICsyODgwLDE0IEBACiAJCTkzQTgwNjE3
MUUwM0I1MUMwMDhBMUYyNiAvKiBMb25nUmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTgwNjEzMUUwM0I1MUMwMDhBMUYyNiAvKiBMb25nUmFu
Z2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5
M0E4MDYxRTFFMDNCNTg1MDA4QTFGMjYgLyogSlNEb3VibGVSYW5nZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBODA2MUExRTAzQjU4NTAwOEExRjI2
IC8qIEpTRG91YmxlUmFuZ2UuaCAqLzsgfTsKIAkJOTNBODA2MjAxRTAzQjU4NTAwOEExRjI2IC8q
IEpTTG9uZ1JhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5M0E4MDYxQzFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuaCAqLzsgfTsKKwkJ
OTNCMEE2NTMyNkNERDE0MTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY0QTI2Q0REMTNF
MDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCAqLzsgfTsKKwkJOTNCMEE2NTQyNkNE
RDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY0QjI2Q0REMTNFMDBBQTIxRTQgLyogUGVybWlzc2lv
bnMuaCAqLzsgfTsKKwkJOTNCMEE2NTYyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0
dXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBB
NjREMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggKi87IH07CisJCTkzQjBB
NjU3MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NEUyNkNERDEzRjAwQUEy
MUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNCMEE2NTkyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1p
c3Npb25OYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5M0IwQTY1MDI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5M0IwQTY1QjI2Q0REMTQx
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY1MjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lv
blN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJOTNCMEE2NzAyNkQ0QjUzOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY2OTI2RDQ0
QjdGMDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5M0IwQTY3QTI2RDZBNEU5MDBBQTIxRTQg
LyogUGVybWlzc2lvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5M0IwQTY2RjI2RDRCNTI5MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2Vy
dmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
OTNCMkQ4MTYwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IyRDgxNTBGOTkyMEQyMDA2
QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0IzOEVDMzI1ODIxREI0MDAxOThFNjMgLyogV2ViU3Bl
ZWNoUmVjb2duaXplclRhc2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzQjM4RUJBMjU4MjE5M0IwMDE5OEU2MyAvKiBXZWJTcGVlY2hSZWNvZ25pemVy
VGFzay5oICovOyB9OwogCQk5M0IzOEVDNDI1ODIxREI3MDAxOThFNjMgLyogV2ViU3BlZWNoUmVj
b2duaXplclRhc2tNb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5M0IzOEVCQjI1ODIxOTNEMDAxOThFNjMgLyogV2ViU3BlZWNoUmVjb2duaXplclRh
c2tNb2NrLmggKi87IH07CkBAIC0xMTcwMSw2ICsxMTcwOSwyMyBAQAogCQk5M0E4MDYxQTFFMDNC
NTg1MDA4QTFGMjYgLyogSlNEb3VibGVSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0RvdWJsZVJhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkz
QTgwNjFCMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0xvbmdSYW5nZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkzQTgwNjFDMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0xvbmdSYW5nZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0NDI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lv
blN0YXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9uU3RhdGUuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0NTI2Q0RDNUI2MDBBQTIxRTQgLyog
UGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcm1pc3Np
b25EZXNjcmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDYy
NkNEQzVCNzAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBQZXJtaXNzaW9uTmFtZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkz
QjBBNjQ3MjZDREM1QjcwMEFBMjFFNCAvKiBOYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9ICJOYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsIjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDgyNkNEQzVCNzAwQUEyMUU0IC8qIFBlcm1pc3Np
b25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9ucy5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ5MjZDREM1QjgwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uU3RhdHVzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9uU3RhdHVzLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEEyNkNERDEzRTAwQUEyMUU0
IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE5hdmlnYXRvclBlcm1pc3Npb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTkzQjBBNjRCMjZDREQxM0UwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk5M0IwQTY0QzI2Q0REMTNFMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmF2aWdhdG9yUGVybWlz
c2lvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0RDI2Q0REMTNG
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQZXJtaXNzaW9uU3RhdHVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTkzQjBBNjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uRGVzY3JpcHRvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0RjI2Q0REMTQwMDBBQTIxRTQgLyogUGVy
bWlzc2lvblN0YXR1cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQ
ZXJtaXNzaW9uU3RhdHVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2
NTAyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25OYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTkzQjBBNjUxMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJtaXNzaW9ucy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjUyMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvblN0
YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjY5MjZENDRCN0YwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9u
Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY2RjI2RDRC
NTI5MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1p
c3Npb25PYnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IyRDgxNTBG
OTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU3VkZGVuVGVybWluYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTNCMkQ4MTcwRjk5MjBFRTAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3VkZGVuVGVybWluYXRp
b24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjM4RUI4MjU4MjE4OTkwMDE5
OEU2MyAvKiBTcGVlY2hSZWNvZ25pemVyQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBTcGVlY2hSZWNvZ25pemVyQ29jb2EubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0yMzE4NSw2ICsyMzIxMCwzMCBAQAogCQkJcGF0aCA9IG1hYzsKIAkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTkzQjBBNjQyMjZDREM1NzQwMEFBMjFF
NCAvKiBwZXJtaXNzaW9ucyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4g
PSAoCisJCQkJOTNCMEE2NDcyNkNEQzVCNzAwQUEyMUU0IC8qIE5hdmlnYXRvcitQZXJtaXNzaW9u
cy5pZGwgKi8sCisJCQkJOTNCMEE2NEMyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1p
c3Npb25zLmNwcCAqLywKKwkJCQk5M0IwQTY0QTI2Q0REMTNFMDBBQTIxRTQgLyogTmF2aWdhdG9y
UGVybWlzc2lvbnMuaCAqLywKKwkJCQk5M0IwQTY2OTI2RDQ0QjdGMDBBQTIxRTQgLyogUGVybWlz
c2lvbkNvbnRyb2xsZXIuaCAqLywKKwkJCQk5M0IwQTY0RTI2Q0REMTNGMDBBQTIxRTQgLyogUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaCAqLywKKwkJCQk5M0IwQTY0NTI2Q0RDNUI2MDBBQTIxRTQgLyog
UGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsICovLAorCQkJCTkzQjBBNjUwMjZDREQxNDAwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uTmFtZS5oICovLAorCQkJCTkzQjBBNjQ2MjZDREM1QjcwMEFBMjFFNCAv
KiBQZXJtaXNzaW9uTmFtZS5pZGwgKi8sCisJCQkJOTNCMEE2NkYyNkQ0QjUyOTAwQUEyMUU0IC8q
IFBlcm1pc3Npb25PYnNlcnZlci5oICovLAorCQkJCTkzQjBBNjUxMjZDREQxNDAwMEFBMjFFNCAv
KiBQZXJtaXNzaW9ucy5jcHAgKi8sCisJCQkJOTNCMEE2NEIyNkNERDEzRTAwQUEyMUU0IC8qIFBl
cm1pc3Npb25zLmggKi8sCisJCQkJOTNCMEE2NDgyNkNEQzVCNzAwQUEyMUU0IC8qIFBlcm1pc3Np
b25zLmlkbCAqLywKKwkJCQk5M0IwQTY1MjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0
YXRlLmggKi8sCisJCQkJOTNCMEE2NDQyNkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0
ZS5pZGwgKi8sCisJCQkJOTNCMEE2NEYyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0
dXMuY3BwICovLAorCQkJCTkzQjBBNjREMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3Rh
dHVzLmggKi8sCisJCQkJOTNCMEE2NDkyNkNEQzVCODAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0
dXMuaWRsICovLAorCQkJKTsKKwkJCXBhdGggPSBwZXJtaXNzaW9uczsKKwkJCXNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7CisJCX07CiAJCTkzQjM4RUI2MjU4MjE4MzMwMDE5OEU2MyAvKiBjb2NvYSAq
LyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0yMzc5MCw2ICsy
MzgzOSw3IEBACiAJCQkJNzFENkFBMzkxREE0RUFGNzAwQjIzOTY5IC8qIG1vZGVybi1tZWRpYS1j
b250cm9scyAqLywKIAkJCQkzMzNGNzAzRDBGQjQ5QzE2MDA4RTEyQTYgLyogbm90aWZpY2F0aW9u
cyAqLywKIAkJCQlBMUY3NkIwRTFGNDRDMENGMDAxNEMzMTggLyogcGF5bWVudHJlcXVlc3QgKi8s
CisJCQkJOTNCMEE2NDIyNkNEQzU3NDAwQUEyMUU0IC8qIHBlcm1pc3Npb25zICovLAogCQkJCTFE
RUYwNkEyMjMzQzMyREIwMEVFMjI4RCAvKiBwaWN0dXJlaW5waWN0dXJlICovLAogCQkJCTA3MkFF
MURFMTgzQzA1MTMwMDBBNTk4OCAvKiBwbHVnaW5zICovLAogCQkJCUNEQzMxMkUwMjJGQ0QwQjAw
MDEyMDRFQyAvKiByZW1vdGVwbGF5YmFjayAqLywKQEAgLTMzNzU3LDYgKzMzODA3LDcgQEAKIAkJ
CQk2QjUwN0EyNDIzNEJGMzQxMDBCRTdDNjIgLyogTmF2aWdhdG9ySXNMb2dnZWRJbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNUVBNzI1RDYxQUNBQkQ1NzAwRUFEMTdCIC8qIE5hdmlnYXRvck1lZGlh
RGV2aWNlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc3QkE1NzIyNjBGQTAxNDAwNzJGMTlGIC8q
IE5hdmlnYXRvck1lZGlhU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTMyNkNE
RDE0MTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5OTZFNTlERjFERjAxMjhEMDA2NjEyQjkgLyogTmF2aWdhdG9yV2ViRHJpdmVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMUVFOEI3ODI0MTMxOTFGMDBFNzk0RDYgLyogTmF2aWdhdG9yV2ViWFIu
aCBpbiBIZWFkZXJzICovLAogCQkJCThBMzA5QzlGMTIzOTUwQkUwMENCOTIwNCAvKiBOZXN0aW5n
TGV2ZWxJbmNyZW1lbnRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzk1Niw2ICszNDAwNywxMyBA
QAogCQkJCUZENTgxRkI1MTUyMEY5M0IwMDNBN0E3NSAvKiBQZXJpb2RpY1dhdmUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUU3NTVFODkyMjRDNzQzNEIwMDlGN0MyMyAvKiBQZXJpb2RpY1dhdmVDb25z
dHJhaW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTc1NUU4OTkyNEM3NDYxRDAwOUY3QzIzIC8q
IFBlcmlvZGljV2F2ZU9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjcwMjZENEI1
MzkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
OTNCMEE2NTcyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk5M0IwQTY1OTI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUu
aCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjdBMjZENkE0RTkwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjU0MjZDREQxNDEwMEFBMjFF
NCAvKiBQZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NUIyNkNERDE0MTAw
QUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTYy
NkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQ5RDVEQzJFMEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMURCQzFCNTYyMzQ3QjNEMjAwQjkwMUFGIC8qIFBpY3R1
cmVJblBpY3R1cmVPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUQyQzgyQjcyMzZBM0Y2
QTAwNTVENkM1IC8qIFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRl
eCBmMTgxYzc5NmQ2NTBjYzg2ZmUzZjA4YTcyMDA3YTZlZGMyZWZiYzc4Li44NTFhMjE0YzlhNDg3
ZmY2OGQxNmJlN2RkOGZiYjUyMDg4N2ViOTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xNTQsNiArMTU0LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKE1vY2tSVENSdHBUcmFuc2Zvcm0pIFwKICAgICBtYWNy
byhOYXZpZ2F0b3JDcmVkZW50aWFscykgXAogICAgIG1hY3JvKE5hdmlnYXRvck1lZGlhRGV2aWNl
cykgXAorICAgIG1hY3JvKE5hdmlnYXRvclBlcm1pc3Npb25zKSBcCiAgICAgbWFjcm8oTmF2aWdh
dG9yVXNlck1lZGlhKSBcCiAgICAgbWFjcm8oT2ZmbGluZUF1ZGlvQ29udGV4dCkgXAogICAgIG1h
Y3JvKE9mZnNjcmVlbkNhbnZhcykgXApAQCAtMTgyLDYgKzE4Myw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBtYWNybyhQZXJmb3JtYW5jZVBhaW50VGltaW5nKSBcCiAgICAgbWFjcm8oUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlU2VydmVyVGlt
aW5nKSBcCisgICAgbWFjcm8oUGVybWlzc2lvbkRlc2NyaXB0b3IpIFwKKyAgICBtYWNybyhQZXJt
aXNzaW9uU3RhdHVzKSBcCisgICAgbWFjcm8oUGVybWlzc2lvbnMpIFwKICAgICBtYWNybyhQb2lu
dGVyRXZlbnQpIFwKICAgICBtYWNybyhQdWJsaWNLZXlDcmVkZW50aWFsKSBcCiAgICAgbWFjcm8o
UmVzaXplT2JzZXJ2ZXIpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDY1Y2ZiZjhiNzk1
ZDYzZDNjOTk5ZDAxZDliMzg0YjIwNTAwOWQ0NjQuLjQ1NDE1NmFjOWVmYTc1MjIyNWNjYjFhOWM0
ZGYzNmQxYjc1ZDM5OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMzU1NCw2ICszNTU0
LDExIEBAIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBEb2N1bWVudDo6aWRiQ29ubmVj
dGlvblByb3h5KCkKICAgICByZXR1cm4gbV9pZGJDb25uZWN0aW9uUHJveHkuZ2V0KCk7CiB9CiAK
K1JlZlB0cjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gRG9jdW1lbnQ6OnBlcm1pc3Npb25Db250cm9s
bGVyKCkKK3sKKyAgICByZXR1cm4gcGFnZSgpID8gJnBhZ2UoKS0+cGVybWlzc2lvbkNvbnRyb2xs
ZXIoKSA6IG51bGxwdHI7Cit9CisKIFNvY2tldFByb3ZpZGVyKiBEb2N1bWVudDo6c29ja2V0UHJv
dmlkZXIoKQogewogICAgIHJldHVybiBtX3NvY2tldFByb3ZpZGVyLmdldCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAppbmRleCA0YzI5NWQ0NThmMWFlMDYxNzlhNTQ2Yjk0ZGIzODA3NzI2NTRjMWM1Li4z
ZDQ2NWIzYzQ4YjIxMjI4ZTZkYWExOGE3OTJkMmQzMzRmOGUxOTAyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaApAQCAtNzAxLDYgKzcwMSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2FibGVXZWJBc3Nl
bWJseShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkgZmluYWw7CiAKICAgICBJREJDbGllbnQ6
OklEQkNvbm5lY3Rpb25Qcm94eSogaWRiQ29ubmVjdGlvblByb3h5KCkgZmluYWw7CisgICAgUmVm
UHRyPFBlcm1pc3Npb25Db250cm9sbGVyPiBwZXJtaXNzaW9uQ29udHJvbGxlcigpIGZpbmFsOwog
ICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcigpIGZpbmFsOwogICAgIFJlZlB0cjxS
VENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uPiBjcmVhdGVSVENEYXRhQ2hhbm5l
bFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uKCkgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXRGYWN0b3J5LmluCmluZGV4IDVlNThmMTExNjY3ZWY2MjEwZDUzMTEwZDdiNTRhODAy
Yzg0Mzk1ZDguLjAxM2NlZDA5NDZmZmNkNTI1OWZhMjUwYjE2MDNhMThlNDU5ZTQ1OTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgpAQCAtMzUsNiArMzUsNyBAQCBP
ZmZzY3JlZW5DYW52YXMgY29uZGl0aW9uYWw9T0ZGU0NSRUVOX0NBTlZBUwogUGF5bWVudFJlcXVl
c3QgY29uZGl0aW9uYWw9UEFZTUVOVF9SRVFVRVNUCiBQYXltZW50UmVzcG9uc2UgY29uZGl0aW9u
YWw9UEFZTUVOVF9SRVFVRVNUCiBQZXJmb3JtYW5jZQorUGVybWlzc2lvblN0YXR1cwogUGljdHVy
ZUluUGljdHVyZVdpbmRvdyBjb25kaXRpb25hbD1QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJCiBSZW1v
dGVQbGF5YmFjayBjb25kaXRpb25hbD1XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQKIFJUQ0RhdGFD
aGFubmVsIGNvbmRpdGlvbmFsPVdFQl9SVEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oCmluZGV4IGQ0YmI4ZTE5YWU3OGY3ZTgxYTZjYjYxZmI2ZTU1MjNjMTA0
YzRkZGUuLjFlY2JjMTM3OWI5YTVhNjg3Njg1NjJkZTgwNmE2M2I2ZDVmYzAxZDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtMjksNiArMjksNyBA
QAogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiRE9NVGltZXIuaCIK
KyNpbmNsdWRlICJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlJUQ0RhdGFDaGFu
bmVsUmVtb3RlSGFuZGxlckNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRlck9w
dGlvbnMuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllci5oIgpA
QCAtMTE1LDYgKzExNiw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZVdlYkFz
c2VtYmx5KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKSA9IDA7CiAKICAgICB2aXJ0dWFsIElE
QkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBpZGJDb25uZWN0aW9uUHJveHkoKSA9IDA7Cisg
ICAgdmlydHVhbCBSZWZQdHI8UGVybWlzc2lvbkNvbnRyb2xsZXI+IHBlcm1pc3Npb25Db250cm9s
bGVyKCkgeyByZXR1cm4gbnVsbHB0cjsgfQogCiAgICAgdmlydHVhbCBTb2NrZXRQcm92aWRlciog
c29ja2V0UHJvdmlkZXIoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9U
YXNrU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGFza1NvdXJjZS5oCmluZGV4IDcxMzNm
Njc4ZWEyZDk5MjY5NTE2MDIwODY0ZWYxM2Q0ZjNlZmQzOTguLjJkYTQ3YmFkNmM3M2E2YmE1YmYy
ODNiOGQzNTJmNDBkMjFhZjAxNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UYXNr
U291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaApAQCAtMzksNiAr
MzksNyBAQCBlbnVtIGNsYXNzIFRhc2tTb3VyY2UgOiB1aW50OF90IHsKICAgICBNaWNyb3Rhc2ss
CiAgICAgTmV0d29ya2luZywKICAgICBQZXJmb3JtYW5jZVRpbWVsaW5lLAorICAgIFBlcm1pc3Np
b24sCiAgICAgUG9zdGVkTWVzc2FnZVF1ZXVlLAogICAgIFNwZWVjaCwKICAgICBVc2VySW50ZXJh
Y3Rpb24sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IDk2NGUyZGQx
MjA3MDMzMWE2NWNhMzQxYWM3MGU0YjI4NzQyMDBhMGQuLjU1Y2M0NmUyNTkxODQ2OWYzMWQ1NmMw
NDk2ZTQzZGQ1NWVjZmQ1ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3Bw
CkBAIC02Myw2ICs2Myw3IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VDb25m
aWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAiUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgiCisjaW5j
bHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJQbHVnaW5JbmZvUHJvdmlk
ZXIuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXJDbGllbnQuaCIKICNpbmNsdWRlICJTZWN1
cml0eU9yaWdpbkRhdGEuaCIKQEAgLTExOTMsNyArMTE5NCw4IEBAIFBhZ2VDb25maWd1cmF0aW9u
IHBhZ2VDb25maWd1cmF0aW9uV2l0aEVtcHR5Q2xpZW50cyhQQUw6OlNlc3Npb25JRCBzZXNzaW9u
SUQpCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8RW1wdHlGcmFtZUxvYWRlckNsaWVudD4oKSwKICAg
ICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1teVNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+KCksCiAg
ICAgICAgIG1ha2VVbmlxdWVSZWY8RW1wdHlNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCksCi0gICAg
ICAgIEVtcHR5QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpjcmVhdGUoKQorICAgICAgICBFbXB0
eUJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Y3JlYXRlKCksCisgICAgICAgIG1ha2VVbmlxdWVS
ZWY8RHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlcj4oKQogICAgIH07CiAKICAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8RW1wdHlDaHJvbWVDbGllbnQ+IGR1bW15Q2hyb21lQ2xpZW50OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKaW5kZXggZWVlNjhiNzdlMWU1ZmNlMWU1OWMzMjk0MzRhOWE4NjAwYjM2OTcxMC4u
ODYxMDc4YmEwYmY2MTgzYjc3MTE0NWE3NGI0MWJlMDdkN2IwNTYyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCkBAIC05OSw2ICs5OSw3IEBACiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VMb2dnaW5nLmgiCiAj
aW5jbHVkZSAiUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VNb25pdG9yLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVNjcmVl
bi5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgpAQCAtMzI1LDYgKzMyNiw3IEBA
IFBhZ2U6OlBhZ2UoUGFnZUNvbmZpZ3VyYXRpb24mJiBwYWdlQ29uZmlndXJhdGlvbikKICAgICAs
IG1fbG9hZHNTdWJyZXNvdXJjZXMocGFnZUNvbmZpZ3VyYXRpb24ubG9hZHNTdWJyZXNvdXJjZXMp
CiAgICAgLCBtX3Nob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nKHBhZ2VDb25maWd1
cmF0aW9uLnNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nKQogICAgICwgbV9odHRw
c1VwZ3JhZGVFbmFibGVkKHBhZ2VDb25maWd1cmF0aW9uLmh0dHBzVXBncmFkZUVuYWJsZWQpCisg
ICAgLCBtX3Blcm1pc3Npb25Db250cm9sbGVyKFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24ucGVy
bWlzc2lvbkNvbnRyb2xsZXIpKQogewogICAgIHVwZGF0ZVRpbWVyVGhyb3R0bGluZ1N0YXRlKCk7
CiAKQEAgLTM2OTMsNCArMzY5NSw5IEBAIHZvaWQgUGFnZTo6cmVzZXRUZXh0UmVjb2duaXRpb25S
ZXN1bHRzKCkKIAogI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKIAorUGVybWlzc2lv
bkNvbnRyb2xsZXImIFBhZ2U6OnBlcm1pc3Npb25Db250cm9sbGVyKCkKK3sKKyAgICByZXR1cm4g
bV9wZXJtaXNzaW9uQ29udHJvbGxlci5nZXQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuaAppbmRleCA5MjU1YmYzMTNjNjdkNzE0ODE1Y2Y3ODE1MjY2ZmZkODA1YjIy
ZjYwLi4zYjFlMjY5MDU1NmRkNGYzZDE3YThlYjg1ZjI0ZDAwNDA4ODc0Mzc1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaApAQCAtMTMxLDYgKzEzMSw3IEBAIGNsYXNzIFBheW1lbnRDb29yZGluYXRvcjsKIGNsYXNz
IFBlcmZvcm1hbmNlTG9nZ2luZzsKIGNsYXNzIFBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudDsKIGNs
YXNzIFBlcmZvcm1hbmNlTW9uaXRvcjsKK2NsYXNzIFBlcm1pc3Npb25Db250cm9sbGVyOwogY2xh
c3MgUGx1Z2luRGF0YTsKIGNsYXNzIFBsdWdpbkluZm9Qcm92aWRlcjsKIGNsYXNzIFBsdWdpblZp
ZXdCYXNlOwpAQCAtODcyLDYgKzg3Myw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNhY2hlVGV4dFJl
Y29nbml0aW9uUmVzdWx0KGNvbnN0IEhUTUxFbGVtZW50JiwgY29uc3QgSW50UmVjdCYgY29udGFp
bmVyUmVjdCwgY29uc3QgVGV4dFJlY29nbml0aW9uUmVzdWx0Jik7CiAjZW5kaWYKIAorICAgIFdF
QkNPUkVfRVhQT1JUIFBlcm1pc3Npb25Db250cm9sbGVyJiBwZXJtaXNzaW9uQ29udHJvbGxlcigp
OworCiBwcml2YXRlOgogICAgIHN0cnVjdCBOYXZpZ2F0aW9uIHsKICAgICAgICAgUmVnaXN0cmFi
bGVEb21haW4gZG9tYWluOwpAQCAtMTE5NCw2ICsxMTk3LDggQEAgcHJpdmF0ZToKICAgICBjb25z
dCBib29sIG1faHR0cHNVcGdyYWRlRW5hYmxlZCB7IHRydWUgfTsKICAgICBtdXRhYmxlIE1lZGlh
U2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtX21lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcjsKIAor
ICAgIFVuaXF1ZVJlZjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gbV9wZXJtaXNzaW9uQ29udHJvbGxl
cjsKKwogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKICAgICAvLyBGSVhNRTogVGhlc2Ugc2hv
dWxkIGJlIHJlZmFjdG9yZWQgdG8gdXNlIGEgd2VhayBoYXNoIG1hcCBvZiBIVE1MRWxlbWVudCB0
byBzdGQ6OnBhaXI8VGV4dFJlY29nbml0aW9uUmVzdWx0LCBJbnRTaXplPi4KICAgICBWZWN0b3I8
c3RkOjpwYWlyPFdlYWtQdHI8SFRNTEVsZW1lbnQ+LCBzdGQ6OnBhaXI8VGV4dFJlY29nbml0aW9u
UmVzdWx0LCBJbnRSZWN0Pj4+IG1fdGV4dFJlY29nbml0aW9uUmVzdWx0c0J5RWxlbWVudDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKaW5kZXggNjc1ZTM2OWNjMWUy
YzJiNzdkOTlmZGQwOTEzNGIxOThmMGNmM2FmMy4uY2I1NjBmZDQxNGEyM2E3NmIyY2M3YjYwZWE1
MDI5OTlhOTgxY2M5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmln
dXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5j
cHAKQEAgLTU5LDcgKzU5LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYWdlQ29uZmln
dXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVbmlx
dWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRvckNsaWVudCwgUmVmPFNvY2tldFByb3ZpZGVyPiYm
IHNvY2tldFByb3ZpZGVyLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYgbGliV2ViUlRD
UHJvdmlkZXIsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4mJiBjYWNoZVN0b3JhZ2VQcm92aWRl
ciwgUmVmPFVzZXJDb250ZW50UHJvdmlkZXI+JiYgdXNlckNvbnRlbnRQcm92aWRlciwgUmVmPEJh
Y2tGb3J3YXJkQ2xpZW50PiYmIGJhY2tGb3J3YXJkQ2xpZW50LCBSZWY8Q29va2llSmFyPiYmIGNv
b2tpZUphciwgVW5pcXVlUmVmPFByb2dyZXNzVHJhY2tlckNsaWVudD4mJiBwcm9ncmVzc1RyYWNr
ZXJDbGllbnQsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNsaWVudD4mJiBsb2FkZXJDbGllbnRGb3JN
YWluRnJhbWUsIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmIHNwZWVjaFJl
Y29nbml0aW9uUHJvdmlkZXIsIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYgbWVk
aWFSZWNvcmRlclByb3ZpZGVyLCBSZWY8QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmIGJyb2Fk
Y2FzdENoYW5uZWxSZWdpc3RyeSkKK1BhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlv
bihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYgZWRp
dG9yQ2xpZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJvdmlkZXIsIFVuaXF1ZVJl
ZjxMaWJXZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlciwgUmVmPENhY2hlU3RvcmFn
ZVByb3ZpZGVyPiYmIGNhY2hlU3RvcmFnZVByb3ZpZGVyLCBSZWY8VXNlckNvbnRlbnRQcm92aWRl
cj4mJiB1c2VyQ29udGVudFByb3ZpZGVyLCBSZWY8QmFja0ZvcndhcmRDbGllbnQ+JiYgYmFja0Zv
cndhcmRDbGllbnQsIFJlZjxDb29raWVKYXI+JiYgY29va2llSmFyLCBVbmlxdWVSZWY8UHJvZ3Jl
c3NUcmFja2VyQ2xpZW50PiYmIHByb2dyZXNzVHJhY2tlckNsaWVudCwgVW5pcXVlUmVmPEZyYW1l
TG9hZGVyQ2xpZW50PiYmIGxvYWRlckNsaWVudEZvck1haW5GcmFtZSwgVW5pcXVlUmVmPFNwZWVj
aFJlY29nbml0aW9uUHJvdmlkZXI+JiYgc3BlZWNoUmVjb2duaXRpb25Qcm92aWRlciwgVW5pcXVl
UmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4mJiBtZWRpYVJlY29yZGVyUHJvdmlkZXIsIFJlZjxC
cm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYgYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5LCBVbmlx
dWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+JiYgcGVybWlzc2lvbkNvbnRyb2xsZXIpCiAgICAg
OiBzZXNzaW9uSUQoc2Vzc2lvbklEKQogICAgICwgZWRpdG9yQ2xpZW50KFdURk1vdmUoZWRpdG9y
Q2xpZW50KSkKICAgICAsIHNvY2tldFByb3ZpZGVyKFdURk1vdmUoc29ja2V0UHJvdmlkZXIpKQpA
QCAtNzMsNiArNzMsNyBAQCBQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24oUEFM
OjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQwogICAgICwgYnJvYWRjYXN0
Q2hhbm5lbFJlZ2lzdHJ5KFdURk1vdmUoYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KSkKICAgICAs
IHNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXIoV1RGTW92ZShzcGVlY2hSZWNvZ25pdGlvblByb3Zp
ZGVyKSkKICAgICAsIG1lZGlhUmVjb3JkZXJQcm92aWRlcihXVEZNb3ZlKG1lZGlhUmVjb3JkZXJQ
cm92aWRlcikpCisgICAgLCBwZXJtaXNzaW9uQ29udHJvbGxlcihXVEZNb3ZlKHBlcm1pc3Npb25D
b250cm9sbGVyKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
Q29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5o
CmluZGV4IDBmMjU5ZDU2ZDNhMTQyYTE0ZTBlYzg1MTRlMGZkNWIyZmQyOTMwYTUuLmQ3NWI3MTA0
YzM1MDM5MWY1OGE5NjhmYWUyZTZlMDM1NDYxMTZhY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VDb25maWd1cmF0aW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAgY2xhc3MgTGliV2ViUlRDUHJvdmlk
ZXI7CiBjbGFzcyBNZWRpYVJlY29yZGVyUHJvdmlkZXI7CiBjbGFzcyBQYXltZW50Q29vcmRpbmF0
b3JDbGllbnQ7CiBjbGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQ7CitjbGFzcyBQZXJtaXNz
aW9uQ29udHJvbGxlcjsKIGNsYXNzIFBsdWdpbkluZm9Qcm92aWRlcjsKIGNsYXNzIFByb2dyZXNz
VHJhY2tlckNsaWVudDsKIGNsYXNzIFNvY2tldFByb3ZpZGVyOwpAQCAtNzQsNyArNzUsNyBAQCBj
bGFzcyBTcGVlY2hTeW50aGVzaXNDbGllbnQ7CiBjbGFzcyBQYWdlQ29uZmlndXJhdGlvbiB7CiAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNvbmZpZ3VyYXRpb24pOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlv
bihQQUw6OlNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiwgUmVmPFNvY2tldFBy
b3ZpZGVyPiYmLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYsIFJlZjxDYWNoZVN0b3Jh
Z2VQcm92aWRlcj4mJiwgUmVmPFVzZXJDb250ZW50UHJvdmlkZXI+JiYsIFJlZjxCYWNrRm9yd2Fy
ZENsaWVudD4mJiwgUmVmPENvb2tpZUphcj4mJiwgVW5pcXVlUmVmPFByb2dyZXNzVHJhY2tlckNs
aWVudD4mJiwgVW5pcXVlUmVmPEZyYW1lTG9hZGVyQ2xpZW50PiYmLCBVbmlxdWVSZWY8U3BlZWNo
UmVjb2duaXRpb25Qcm92aWRlcj4mJiwgVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4m
JiwgUmVmPEJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4mJik7CisgICAgV0VCQ09SRV9FWFBPUlQg
UGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpTZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+
JiYsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYm
LCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYm
LCBSZWY8QmFja0ZvcndhcmRDbGllbnQ+JiYsIFJlZjxDb29raWVKYXI+JiYsIFVuaXF1ZVJlZjxQ
cm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNsaWVudD4mJiwg
VW5pcXVlUmVmPFNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxNZWRpYVJl
Y29yZGVyUHJvdmlkZXI+JiYsIFJlZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYsIFVuaXF1
ZVJlZjxQZXJtaXNzaW9uQ29udHJvbGxlcj4mJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgflBhZ2VD
b25maWd1cmF0aW9uKCk7CiAgICAgUGFnZUNvbmZpZ3VyYXRpb24oUGFnZUNvbmZpZ3VyYXRpb24m
Jik7CiAKQEAgLTEzOCw2ICsxMzksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCB1c2VyU2NyaXB0c1No
b3VsZFdhaXRVbnRpbE5vdGlmaWNhdGlvbiB7IHRydWUgfTsKICAgICBTaG91bGRSZWxheFRoaXJk
UGFydHlDb29raWVCbG9ja2luZyBzaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZyB7
IFNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nOjpObyB9OwogICAgIGJvb2wgaHR0
cHNVcGdyYWRlRW5hYmxlZCB7IHRydWUgfTsKKworICAgIFVuaXF1ZVJlZjxQZXJtaXNzaW9uQ29u
dHJvbGxlcj4gcGVybWlzc2lvbkNvbnRyb2xsZXI7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCA2
NmFlZGE0M2M4MmQ4YmZiMzM1YmJmZWY2MDk1ZDA0ZWZhZGI4NjIwLi5hNzQ1ZDcyMDE1Y2ZjMTk1
ZmI5NmYyY2M1NTg1OGE4MzFiNzUwZWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTY5NCw2ICs2OTQsNyBA
QCBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk1lZGlhS2V5U3lzdGVtQ2xpZW50LmNwcAog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlci5j
cHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcAog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3Bw
CitXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcAog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCiBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5jcHAKIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNWZiMzA4OTUwMTU2MjQ4NjY2MTUzYzYyNGY0MDM0
ZWE0YTg4NGZkZi4uOWE4Mjk2Yjk4ZDViYjBkYjYzYTc4MGYxNWJmMzQyMzNlN2U0M2MxZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xNzIsNiArMTcyLDcg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0cnkuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL01lZGlhU3RyZWFtUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGVyZm9ybWFuY2VM
b2dnaW5nQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uU3RhdGUuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1ByaXZh
dGVDbGlja01lYXN1cmVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QdWJsaWNTdWZmaXguaD4K
QEAgLTg0OTMsNiArODQ5NCwxMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmV2b2tlR2VvbG9jYXRp
b25BdXRob3JpemF0aW9uVG9rZW4oY29uc3QgU3RyaW5nJiBhdXRob3JpemF0aQogICAgIG1fZ2Vv
bG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIucmV2b2tlQXV0aG9yaXphdGlvblRva2Vu
KGF1dGhvcml6YXRpb25Ub2tlbik7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0UGVy
bWlzc2lvbihjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpQZXJt
aXNzaW9uRGVzY3JpcHRvciYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlz
c2lvblN0YXRlKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICAvLyBGSVhNRTogU2hvdyBh
IHByb21wdCBmb3IgdXNlciBpbnB1dC4KKyAgICBjb21wbGV0aW9uSGFuZGxlcihQZXJtaXNzaW9u
U3RhdGU6OkdyYW50ZWQpOworfQorCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5JiBXZWJQYWdlUHJveHk6OnVzZXJNZWRpYVBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlcigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCmluZGV4IGVhMWMyMmZiNmIxMWJlOTY4OTkyODI2NGQzYmYzZmM4NDcxMDliOGQuLjQ2
MWFhY2I4ODg2YTUyMzFjY2FhZmYwNzRmMmExYTU0YzAxNzdkNzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0yOTQsNiArMjk0LDcgQEAgc3RydWN0IExpbmtJY29u
Owogc3RydWN0IE1lZGlhU3RyZWFtUmVxdWVzdDsKIHN0cnVjdCBNZWRpYVVzYWdlSW5mbzsKIHN0
cnVjdCBNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uOworc3RydWN0IFBlcm1pc3Np
b25EZXNjcmlwdG9yOwogc3RydWN0IFByZXdhcm1JbmZvcm1hdGlvbjsKIHN0cnVjdCBTZWN1cml0
eU9yaWdpbkRhdGE7CiBzdHJ1Y3QgU2hhcmVEYXRhOwpAQCAtMjExNyw2ICsyMTE4LDcgQEAgcHJp
dmF0ZToKIAogICAgIHZvaWQgcmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lKEdl
b2xvY2F0aW9uSWRlbnRpZmllciwgRnJhbWVJbmZvRGF0YSYmKTsKICAgICB2b2lkIHJldm9rZUdl
b2xvY2F0aW9uQXV0aG9yaXphdGlvblRva2VuKGNvbnN0IFN0cmluZyYgYXV0aG9yaXphdGlvblRv
a2VuKTsKKyAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9y
aWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpPiYmKTsKIAogI2lmIFBMQVRGT1JN
KEdUSykgfHwgUExBVEZPUk0oV1BFKQogICAgIHZvaWQgc2VuZE1lc3NhZ2VUb1dlYlZpZXcoVXNl
ck1lc3NhZ2UmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW4KaW5kZXggYmMzN2I4ZmM2YWRmM2VhZDE4NzJkMTE1NWZmMGNiZDAwOWRjMGFm
OS4uMDdlMGY1NDgwMzQ2OTcwM2E2ZjczN2Q5OTMwN2IxZWM3MzUwY2QzMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNjAyLDQg
KzYwMiw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAjaWYgSEFWRShBUktJVF9JTkxJ
TkVfUFJFVklFV19NQUMpCiAgICAgTW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhzdHJ1Y3Qg
V2ViQ29yZTo6RWxlbWVudENvbnRleHQgZWxlbWVudENvbnRleHQsIFVSTCB1cmwsIFN0cmluZyB1
dWlkLCBXZWJDb3JlOjpGbG9hdFNpemUgc2l6ZSkKICNlbmRpZgorCisgICAgcmVxdWVzdFBlcm1p
c3Npb24oc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBvcmlnaW4sIHN0cnVjdCBXZWJDb3Jl
OjpQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yKSAtPiAoZW51bTp1aW50OF90IFdlYkNv
cmU6OlBlcm1pc3Npb25TdGF0ZSBzdGF0ZSkgQXN5bmMKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZlM2QzMmIzMjk1YzJjNDRmZDQ0
NDRjZGQ3ZjE0MWYyNDAwNGNhMDIuLmZiNjhhM2JkMTZkMjczODJjZDMzYzkzYjEwYmViZTI5M2Iz
M2E1MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMTQ5Niw2ICsxNDk2LDcgQEAKIAkJOTNBQjlCNEUyNTc1NjdFMjAwOThCMTBFIC8q
IFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBQjlCNDIyNTc0OTI4QzAwOThC
MTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZS5oICovOyB9
OwogCQk5M0FCOUI1NTI1NzVBMjc2MDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZWFsdGlt
ZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0FCOUI0RjI1NzU4OTExMDA5OEIxMEUgLyog
U3BlZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi87IH07CiAJCTkzQUI5QjU2MjU3NUEyOEIwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25p
dGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQUI5QjUxMjU3
NTg5MTEwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3Vy
Y2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJOTNCMEE2NzUyNkQ1QURDRjAw
QUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY3NDI2RDVBNzJFMDBBQTIxRTQgLyogV2Vi
UGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLzsgfTsKIAkJOTNCMjYxNEQyMjdEMTQ5RTAwQjk3QTc2
IC8qIFN0b3JhZ2VNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5M0IyNjE0OTIyN0QxNDcyMDBCOTdBNzYgLyogU3RvcmFnZU1hbmFnZXIuaCAq
LzsgfTsKIAkJOTNCMjYxNEUyMjdEMTRCMTAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IyNjE0
NTIyN0QxNDcwMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2UuaCAqLzsgfTsKIAkJOTNC
MjYxNEYyMjdEMTRCMTAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMjYxNDYyMjdE
MTQ3MTAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5oICovOyB9OwpAQCAt
NDkxNCw2ICs0OTE1LDEwIEBACiAJCTkzQUI5QjUyMjU3NTg5MTIwMDk4QjEwRSAvKiBTcGVlY2hS
ZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXNSZXBsaWVz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwZWVjaFJlY29nbml0aW9uUmVt
b3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNBQjlCNTMyNTc1ODkxMjAwOThCMTBFIC8qIFNwZWVjaFJl
Y29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0
aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOTNBQjlCNTQyNTc1ODkxMjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVhbHRp
bWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2Fn
ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NkQyNkQ0NTE1MDAwQUEy
MUU0IC8qIFBlcm1pc3Npb25NYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFBlcm1pc3Npb25NYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTNCMEE2NkUyNkQ0NTE1MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25NYW5hZ2VyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25NYW5hZ2VyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjczMjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQ
ZXJtaXNzaW9uQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTkzQjBBNjc0MjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQZXJtaXNzaW9uQ29udHJv
bGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IyNjE0NTIyN0QxNDcwMDBC
OTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTG9jYWxTdG9yYWdlRGF0YWJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOTNCMjYxNDYyMjdEMTQ3MTAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlVHJh
Y2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2NhbFN0b3JhZ2VEYXRh
YmFzZVRyYWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMjYxNDcyMjdE
MTQ3MTAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTYyMyw2ICs5NjI4LDE1IEBACiAJ
CQlwYXRoID0gU3BlZWNoOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJOTNC
MEE2NkMyNkQ0NTExRjAwQUEyMUU0IC8qIFBlcm1pc3Npb24gKi8gPSB7CisJCQlpc2EgPSBQQlhH
cm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTkzQjBBNjZEMjZENDUxNTAwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9uTWFuYWdlci5jcHAgKi8sCisJCQkJOTNCMEE2NkUyNkQ0NTE1MDAwQUEyMUU0IC8q
IFBlcm1pc3Npb25NYW5hZ2VyLmggKi8sCisJCQkpOworCQkJcGF0aCA9IFBlcm1pc3Npb247CisJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk5M0IyNjE0MzIyN0QxNDMxMDBCOTdB
NzYgLyogV2ViU3RvcmFnZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCkBAIC05ODYzLDYgKzk4NzcsNyBAQAogCQkJCTRBNDEwRjQxMTlBRjdCMjcwMDJFQkFCNSAv
KiBNZWRpYVN0cmVhbSAqLywKIAkJCQk1MTA1QjBEMjE2MkY3QTVFMDBFMjc3MDkgLyogTmV0d29y
ayAqLywKIAkJCQkzMTA5OTk3NDE0NkM4QUE4MDAyOURFQjkgLyogTm90aWZpY2F0aW9ucyAoVXNl
cikgKi8sCisJCQkJOTNCMEE2NkMyNkQ0NTExRjAwQUEyMUU0IC8qIFBlcm1pc3Npb24gKi8sCiAJ
CQkJMUE2RkI3QUExMUU2NEI0OTAwREIxMzcxIC8qIFBsdWdpbnMgKi8sCiAJCQkJOTNBQjlCNDgy
NTc0QzVDRTAwOThCMTBFIC8qIFNwZWVjaCAqLywKIAkJCQk1MTE4RTk5ODFGMjk1MjU5MDAzRUY5
RjUgLyogU3RvcmFnZSAqLywKQEAgLTk5MzMsNiArOTk0OCw4IEBACiAJCQkJNTEyMTI3QzIxOTA4
MjM5QTAwREFGMzVDIC8qIFdlYlBhc3RlYm9hcmRPdmVycmlkZXMuaCAqLywKIAkJCQkwRjg1MEZF
NDFFRDdDMzlGMDBGQjc3QTcgLyogV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmNwcCAqLywK
IAkJCQkwRjg1MEZFNTFFRDdDMzlGMDBGQjc3QTcgLyogV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xp
ZW50LmggKi8sCisJCQkJOTNCMEE2NzMyNkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25D
b250cm9sbGVyLmNwcCAqLywKKwkJCQk5M0IwQTY3NDI2RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVy
bWlzc2lvbkNvbnRyb2xsZXIuaCAqLywKIAkJCQkxQTNFNzM2MDExQ0MyNjU5MDA3QkQ1MzkgLyog
V2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCAqLywKIAkJCQkxQTNFNzM1RjExQ0MyNjU5MDA3QkQ1
MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggKi8sCiAJCQkJRDNCOTQ4NDIxMUZGNEI2NTAw
MDMyQjM5IC8qIFdlYlBvcHVwTWVudS5jcHAgKi8sCkBAIC0xMjY2Miw2ICsxMjY3OSw3IEBACiAJ
CQkJQTE3OThCNEMyMjJGMUJENDAwMDc2NEJEIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5
Q29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjFGNzk5MUQxQjM2MTMwMDdDOUJEMSAvKiBX
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
Rjg1MEZFNzFFRDdDMzlGMDBGQjc3QTcgLyogV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY3NTI2RDVBRENGMDBBQTIxRTQgLyogV2ViUGVybWlz
c2lvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBM0U3MzYxMTFDQzI2NTkwMDdC
RDUzOSAvKiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNTc0
NEYwMTI2MzhGQjMwMDZGMEYxMiAvKiBXZWJQb3B1cEl0ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUQzQjk0ODQ3MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuaCBpbiBIZWFkZXJzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlBlcm1pc3Npb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzgwY2Fi
ZTAwY2Y2ZTM4NTE5ZjdkMDNiOThhMDczM2M2MzlmNDIwYwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJv
bGxlci5jcHAKQEAgLTAsMCArMSwxNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKKworCisjaW5jbHVkZSAi
V2ViUGFnZS5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8
V2ViQ29yZS9QZXJtaXNzaW9uT2JzZXJ2ZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1dl
YlBlcm1pc3Npb25Db250cm9sbGVyOjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcihXZWJQYWdlJiBw
YWdlKQorICAgIDogbV9wYWdlKG1ha2VXZWFrUHRyKHBhZ2UpKQoreworfQorCitXZWJDb3JlOjpQ
ZXJtaXNzaW9uU3RhdGUgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnF1ZXJ5KFdlYkNvcmU6OkNs
aWVudE9yaWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImJiBkZXNj
cmlwdG9yKQoreworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm4gV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXRlOjpEZW5pZWQ7CisKKyAgICByZXR1cm4gcXVlcnlDYWNoZShXVEZNb3ZlKG9y
aWdpbiksIFdURk1vdmUoZGVzY3JpcHRvcikpOworfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250
cm9sbGVyOjpyZXF1ZXN0KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6
UGVybWlzc2lvbkRlc2NyaXB0b3ImJiBkZXNjcmlwdG9yLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAg
aWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihXZWJDb3JlOjpQ
ZXJtaXNzaW9uU3RhdGU6OkRlbmllZCk7CisKKyAgICBhdXRvIGNhY2hlZFJlc3VsdCA9IHF1ZXJ5
Q2FjaGUob3JpZ2luLCBkZXNjcmlwdG9yKTsKKyAgICBpZiAoY2FjaGVkUmVzdWx0ICE9IFdlYkNv
cmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0KQorICAgICAgICByZXR1cm4gY29tcGxldGlvbkhh
bmRsZXIoY2FjaGVkUmVzdWx0KTsKKworICAgIG1fcmVxdWVzdHMuYXBwZW5kKFBlcm1pc3Npb25S
ZXF1ZXN0IHsgV1RGTW92ZShvcmlnaW4pLCBXVEZNb3ZlKGRlc2NyaXB0b3IpLCBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSB9KTsKKyAgICB0cnlQcm9jZXNzaW5nUmVxdWVzdCgpOworfQorCitX
ZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnF1ZXJ5Q2Fj
aGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBvcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlBl
cm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQoreworICAgIGlmIChtX2NhY2hlZFBlcm1p
c3Npb25FbnRyaWVzLmNvbnRhaW5zKG9yaWdpbikpIHsKKyAgICAgICAgYXV0byBwZXJtaXNzaW9u
RW50cmllcyA9IG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXMuZ2V0KG9yaWdpbik7CisgICAgICAg
IGZvciAoYXV0byYgZW50cnkgOiBwZXJtaXNzaW9uRW50cmllcykgeworICAgICAgICAgICAgaWYg
KGVudHJ5LmZpcnN0ID09IGRlc2NyaXB0b3IpCisgICAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5
LnNlY29uZDsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBXZWJDb3JlOjpQZXJtaXNz
aW9uU3RhdGU6OlByb21wdDsKK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6dXBk
YXRlQ2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBvcmlnaW4sIGNvbnN0IFdlYkNv
cmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBXZWJDb3JlOjpQZXJtaXNzaW9u
U3RhdGUgc3RhdGUpCit7CisgICAgYXV0byYgZW50cmllcyA9IG1fY2FjaGVkUGVybWlzc2lvbkVu
dHJpZXMuZW5zdXJlKG9yaWdpbiwgWyZdKCkgeworICAgICAgICByZXR1cm4gVmVjdG9yPFBlcm1p
c3Npb25FbnRyeT4geyB9OworICAgIH0pLml0ZXJhdG9yLT52YWx1ZTsKKyAgICBmb3IgKGF1dG8m
IGVudHJ5IDogZW50cmllcykgeworICAgICAgICBpZiAoZW50cnkuZmlyc3QgPT0gZGVzY3JpcHRv
cikgeworICAgICAgICAgICAgaWYgKGVudHJ5LnNlY29uZCA9PSBzdGF0ZSkKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisKKyAgICAgICAgICAgIGVudHJ5LnNlY29uZCA9IHN0YXRlOworICAgICAg
ICAgICAgcGVybWlzc2lvbkNoYW5nZWQob3JpZ2luLCBkZXNjcmlwdG9yLCBzdGF0ZSk7CisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lv
bkNvbnRyb2xsZXI6OnRyeVByb2Nlc3NpbmdSZXF1ZXN0KCkKK3sKKyAgICBpZiAobV9yZXF1ZXN0
cy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIHdoaWxlICghbV9yZXF1ZXN0cy5p
c0VtcHR5KCkpIHsKKyAgICAgICAgYXV0byYgY3VycmVudFJlcXVlc3QgPSBtX3JlcXVlc3RzLmZp
cnN0KCk7CisgICAgICAgIGlmIChjdXJyZW50UmVxdWVzdC5pc1dhaXRpbmdGb3JSZXBseSkKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICAvLyBDYWNoZSBtYXkgaGF2ZSB1cGRhdGVkLgor
ICAgICAgICBhdXRvIGNhY2hlZFJlc3VsdCA9IHF1ZXJ5Q2FjaGUoY3VycmVudFJlcXVlc3Qub3Jp
Z2luLCBjdXJyZW50UmVxdWVzdC5kZXNjcmlwdG9yKTsKKyAgICAgICAgaWYgKGNhY2hlZFJlc3Vs
dCAhPSBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdCkgeworICAgICAgICAgICAgYXV0
byB0YWtlblJlcXVlc3QgPSBtX3JlcXVlc3RzLnRha2VGaXJzdCgpOworICAgICAgICAgICAgdGFr
ZW5SZXF1ZXN0LmNvbXBsZXRpb25IYW5kbGVyKGNhY2hlZFJlc3VsdCk7CisgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgfQorCisgICAgICAgIGN1cnJlbnRSZXF1ZXN0LmlzV2FpdGluZ0Zv
clJlcGx5ID0gdHJ1ZTsKKyAgICAgICAgbV9wYWdlLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24oY3VycmVudFJlcXVlc3Qub3JpZ2lu
LCBjdXJyZW50UmVxdWVzdC5kZXNjcmlwdG9yKSwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQ
dHIoKnRoaXMpXShhdXRvIHN0YXRlKSB7CisgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAg
ICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgYXV0byB0YWtlblJlcXVlc3QgPSBt
X3JlcXVlc3RzLnRha2VGaXJzdCgpOworICAgICAgICAgICAgdGFrZW5SZXF1ZXN0LmNvbXBsZXRp
b25IYW5kbGVyKHN0YXRlKTsKKyAgICAgICAgICAgIHVwZGF0ZUNhY2hlKHRha2VuUmVxdWVzdC5v
cmlnaW4sIHRha2VuUmVxdWVzdC5kZXNjcmlwdG9yLCBzdGF0ZSk7CisKKyAgICAgICAgICAgIHRy
eVByb2Nlc3NpbmdSZXF1ZXN0KCk7CisgICAgICAgIH0pOworICAgIH0KK30KKwordm9pZCBXZWJQ
ZXJtaXNzaW9uQ29udHJvbGxlcjo6YWRkT2JzZXJ2ZXIoV2ViQ29yZTo6UGVybWlzc2lvbk9ic2Vy
dmVyJiBvYnNlcnZlcikKK3sKKyAgICBtX29ic2VydmVycy5hZGQob2JzZXJ2ZXIpOworfQorCit2
b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpyZW1vdmVPYnNlcnZlcihXZWJDb3JlOjpQZXJt
aXNzaW9uT2JzZXJ2ZXImIG9ic2VydmVyKQoreworICAgIG1fb2JzZXJ2ZXJzLnJlbW92ZShvYnNl
cnZlcik7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnBlcm1pc3Npb25DaGFu
Z2VkKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYgb3JpZ2luLCBjb25zdCBXZWJDb3JlOjpQ
ZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRl
IHN0YXRlKQoreworICAgIGZvciAoYXV0byYgb2JzZXJ2ZXIgOiBtX29ic2VydmVycykgeworICAg
ICAgICBpZiAob2JzZXJ2ZXIub3JpZ2luKCkgPT0gb3JpZ2luICYmIG9ic2VydmVyLmRlc2NyaXB0
b3IoKSA9PSBkZXNjcmlwdG9yKQorICAgICAgICAgICAgb2JzZXJ2ZXIuc3RhdGVDaGFuZ2VkKHN0
YXRlKTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlz
c2lvbkNvbnRyb2xsZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45M2JlMWVkOWViNjJmOWQ0MmRmNTE1MWRhZDdm
YTUwZjMzZDQ3OWE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmgKQEAgLTAsMCArMSw2OCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNz
aW9uQ29udHJvbGxlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGVybWlzc2lvbkRlc2NyaXB0b3Iu
aD4KKyNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha0hhc2hTZXQuaD4K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlBhZ2U7CisKK2NsYXNzIFdlYlBlcm1p
c3Npb25Db250cm9sbGVyIGZpbmFsIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFdlYlBlcm1pc3Np
b25Db250cm9sbGVyPiwgcHVibGljIFdlYkNvcmU6OlBlcm1pc3Npb25Db250cm9sbGVyIHsKK3B1
YmxpYzoKKyAgICBleHBsaWNpdCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcihXZWJQYWdlJik7CisK
K3ByaXZhdGU6CisgICAgLy8gV2ViQ29yZTo6UGVybWlzc2lvbkNvbnRyb2xsZXIKKyAgICBXZWJD
b3JlOjpQZXJtaXNzaW9uU3RhdGUgcXVlcnkoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNv
cmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiYpIGZpbmFsOworICAgIHZvaWQgcmVxdWVzdChXZWJD
b3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImJiwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpPiYmKSBmaW5hbDsK
KyAgICB2b2lkIGFkZE9ic2VydmVyKFdlYkNvcmU6OlBlcm1pc3Npb25PYnNlcnZlciYpIGZpbmFs
OworICAgIHZvaWQgcmVtb3ZlT2JzZXJ2ZXIoV2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyJikg
ZmluYWw7CisKKyAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgcXVlcnlDYWNoZShjb25zdCBX
ZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRv
ciYpOworICAgIHZvaWQgdXBkYXRlQ2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwg
Y29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImLCBXZWJDb3JlOjpQZXJtaXNzaW9u
U3RhdGUpOworICAgIHZvaWQgdHJ5UHJvY2Vzc2luZ1JlcXVlc3QoKTsKKyAgICB2b2lkIHBlcm1p
c3Npb25DaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6
OlBlcm1pc3Npb25EZXNjcmlwdG9yJiwgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKTsKKworICAg
IFdlYWtQdHI8V2ViUGFnZT4gbV9wYWdlOworICAgIFdlYWtIYXNoU2V0PFdlYkNvcmU6OlBlcm1p
c3Npb25PYnNlcnZlcj4gbV9vYnNlcnZlcnM7CisKKyAgICB1c2luZyBQZXJtaXNzaW9uRW50cnkg
PSBzdGQ6OnBhaXI8V2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IsIFdlYkNvcmU6OlBlcm1p
c3Npb25TdGF0ZT47CisgICAgSGFzaE1hcDxXZWJDb3JlOjpDbGllbnRPcmlnaW4sIFZlY3RvcjxQ
ZXJtaXNzaW9uRW50cnk+PiBtX2NhY2hlZFBlcm1pc3Npb25FbnRyaWVzOworCisgICAgc3RydWN0
IFBlcm1pc3Npb25SZXF1ZXN0IHsKKyAgICAgICAgV2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdp
bjsKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcjsKKyAg
ICAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpPiBj
b21wbGV0aW9uSGFuZGxlcjsKKyAgICAgICAgYm9vbCBpc1dhaXRpbmdGb3JSZXBseSB7IGZhbHNl
IH07CisgICAgfTsKKyAgICBEZXF1ZTxQZXJtaXNzaW9uUmVxdWVzdD4gbV9yZXF1ZXN0czsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMDRlM2FlMjAxNDNmMmYzZGJkMjA2NGEzMDJmMDFiODRl
ZGNhOTY0NS4uNzExZWQ4ZTkyMjc2ZWI5MzFmNTQ0NWM3NGZkNmMzYjBlOWViNTQxZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTEyMSw2ICsx
MjEsNyBAQAogI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2Vi
UGF5bWVudENvb3JkaW5hdG9yLmgiCiAjaW5jbHVkZSAiV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xp
ZW50LmgiCisjaW5jbHVkZSAiV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJX
ZWJQbHVnaW5JbmZvUHJvdmlkZXIuaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnUuaCIKICNpbmNs
dWRlICJXZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgiCkBAIC01NjMsNyArNTY0LDggQEAgV2Vi
UGFnZTo6V2ViUGFnZShQYWdlSWRlbnRpZmllciBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkZyYW1lTG9hZGVy
Q2xpZW50PihtX21haW5GcmFtZS5jb3B5UmVmKCkpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdl
YlNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+KG1faWRlbnRpZmllciksCiAgICAgICAgIG1ha2VV
bmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPigqdGhpcyksCi0gICAgICAgIFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLmJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSgpCisgICAgICAgIFdlYlBy
b2Nlc3M6OnNpbmdsZXRvbigpLmJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSgpLAorICAgICAgICBt
YWtlVW5pcXVlUmVmPFdlYlBlcm1pc3Npb25Db250cm9sbGVyPigqdGhpcykKICAgICApOwogICAg
IHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoKnRo
aXMpOwogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1h
Yy5oCmluZGV4IGJiZjhkMWJiOGNlNmMzMDFkYzNlZjIwMTk1M2Q4MmZlYzA1ZWRkNTguLjU2YmM4
MWM3OGYzNGFhNDUzNDc5MzVkMjcxZWM1NzBjM2ZjN2VlNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hN
b25pdG9yTWFjLmgKQEAgLTUwLDcgKzUwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIHN0YXJ0Tm90
aWZpY2F0aW9uTWVjaGFuaXNtKCkgZmluYWw7CiAgICAgdm9pZCBzdG9wTm90aWZpY2F0aW9uTWVj
aGFuaXNtKCkgZmluYWw7CiAKLSAgICB2b2lkIGFkanVzdFByZWZlcnJlZEZyYW1lc1BlclNlY29u
ZChGcmFtZXNQZXJTZWNvbmQpIGZpbmFsOworICAgIHZvaWQgYWRqdXN0UHJlZmVycmVkRnJhbWVz
UGVyU2Vjb25kKFdlYkNvcmU6OkZyYW1lc1BlclNlY29uZCkgZmluYWw7CiAKICAgICBEaXNwbGF5
TGlua09ic2VydmVySUQgbV9vYnNlcnZlcklEOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3Jl
OjpSdW5Mb29wT2JzZXJ2ZXI+IG1fcnVuTG9vcE9ic2VydmVyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGNkNmE1ZjU3Mjk5NGY3ZWM0ZmJkZTc2Mzdk
Zjg2N2JkNTJmM2M4MzQuLjQ4MDNlYmM5ZWM3N2U4OGUxNWIyOGUyYmVkYzE2ZDY3M2E3Mjg5Y2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTE5NSw2
ICsxOTUsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Bh
Z2VDb25maWd1cmF0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhdGhVdGlsaXRpZXMuaD4KKyNp
bXBvcnQgPFdlYkNvcmUvUGVybWlzc2lvbkNvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUv
UGxhdGZvcm1FdmVudEZhY3RvcnlNYWMuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1TY3Jl
ZW4uaD4KICNpbXBvcnQgPFdlYkNvcmUvUHJvZ3Jlc3NUcmFja2VyLmg+CkBAIC0xNTM2LDcgKzE1
MzcsOCBAQCBzdGF0aWMgdm9pZCBXZWJLaXRJbml0aWFsaXplR2FtZXBhZFByb3ZpZGVySWZOZWNl
c3NhcnkoKQogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xpZW50PigpLAog
ICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15U3BlZWNoUmVjb2duaXRpb25Qcm92
aWRlcj4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJv
dmlkZXI+KCksCi0gICAgICAgIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVh
dGUoW1tzZWxmIHByZWZlcmVuY2VzXSBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSkKKyAgICAgICAg
V2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShbW3NlbGYgcHJlZmVyZW5j
ZXNdIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdKSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJD
b3JlOjpEdW1teVBlcm1pc3Npb25Db250cm9sbGVyPigpCiAgICAgKTsKICNpZiAhUExBVEZPUk0o
SU9TX0ZBTUlMWSkKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2Vi
Q2hyb21lQ2xpZW50KHNlbGYpOwpAQCAtMTgxNCw3ICsxODE2LDggQEAgc3RhdGljIHZvaWQgV2Vi
S2l0SW5pdGlhbGl6ZUdhbWVwYWRQcm92aWRlcklmTmVjZXNzYXJ5KCkKICAgICAgICAgbWFrZVVu
aXF1ZVJlZjxXZWJGcmFtZUxvYWRlckNsaWVudD4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxX
ZWJDb3JlOjpEdW1teVNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+KCksCiAgICAgICAgIG1ha2VV
bmlxdWVSZWY8V2ViQ29yZTo6TWVkaWFSZWNvcmRlclByb3ZpZGVyPigpLAotICAgICAgICBXZWJC
cm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNlc10g
cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0pCisgICAgICAgIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdp
c3RyeTo6Z2V0T3JDcmVhdGUoW1tzZWxmIHByZWZlcmVuY2VzXSBwcml2YXRlQnJvd3NpbmdFbmFi
bGVkXSksCisgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6RHVtbXlQZXJtaXNzaW9uQ29u
dHJvbGxlcj4oKQogICAgICk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0g
bmV3IFdlYkNocm9tZUNsaWVudElPUyhzZWxmKTsKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAppbmRleCAxY2YzMmRhMjRhMDkwY2ZlM2QyYjY1
MjljYTgzZjgyNmM1NTgyZTlkLi5jMTllOGVmZjU3ZjgxOTBlYTJjNGJjZTMxNWYwZjgwYjM5MmMx
OWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcApAQCAtMTM4LDYgKzEzOCw3IEBA
CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UGFnZUNvbmZpZ3VyYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhdGhVdGlsaXRpZXMuaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1pc3Npb25Db250cm9sbGVyLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3Jt
TW91c2VFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1XaGVlbEV2ZW50Lmg+CkBA
IC0zMTMzLDcgKzMxMzQsOCBAQCBIUkVTVUxUIFdlYlZpZXc6OmluaXRXaXRoRnJhbWUoUkVDVCBm
cmFtZSwgX0luXyBCU1RSIGZyYW1lTmFtZSwgX0luXyBCU1RSIGdyb3VwTgogICAgICAgICBtYWtl
VW5pcXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xpZW50Pih3ZWJGcmFtZSksCiAgICAgICAgIG1ha2VV
bmlxdWVSZWY8RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigpLAogICAgICAgICBtYWtl
VW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKSwKLSAgICAgICAgV2ViQnJvYWRjYXN0
Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShmYWxzZSkKKyAgICAgICAgV2ViQnJvYWRjYXN0
Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShmYWxzZSksCisgICAgICAgIG1ha2VVbmlxdWVS
ZWY8RHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlcj4oKQogICAgICk7CiAgICAgY29uZmlndXJhdGlv
bi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KHRoaXMpOwogI2lmIEVOQUJMRShD
T05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGYxMzVmZGMzMDk3NTYwOTc2ZGE4MDhjOTk4OWYwMDczYmM5
MWQ0ZTkuLjA5MDVmNzAzNGMyNGNjY2I0ZmI0NTg0MzlkZDQxNzQwODg1YjAzMjggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAyMS0wOC0yNyAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS84MjQ0MjIwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFj
LXdrMS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5v
LWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0
aW9uczoKKwogMjAyMS0wOC0yNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIENyYXNoIGluIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNo
YXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4
IDhhNjY1MGY4ODI4NDk5ODAyYTlkMjBlZmU2OWI1NDMzN2I2NDRiOGYuLmQ4ZWQzN2I5ODQ1MGU2
NjRmZGJmOTA5MjJkMDM1NTgwMTM5NGM4MjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA4LTI3ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBzdHVicyBmb3IgUGVybWlzc2lvbnMgQVBJCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzMzkKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzgyNDQyMjA1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhh
cm5lc3MuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1x
dWVyeS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNzdGF0dXMt
bmFtZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Np
b25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1mZXRjaC1wZXJt
aXNzaW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlz
c2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3RlZC50
eHQ6CisKIDIwMjEtMDgtMjUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAg
ICAgICBbTWFjIHdrMl0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3Nz
LW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVwb3J0aW5nLXRvLWZyYW1lLW93bmVyLmh0dHBzLmh0
bWwgaXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2YmRlMmY5NGVhZDIx
N2I4NjQ0MzI1NzE4YzFmNGM2MjExZjI3NjcwLi44YmM5MzY4ZDhhOGVkMjhiYWFhNTQxM2RiZjhh
YmYyYzE2ZmQxOTFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE5Niw2ICsxOTYsNyBAQCBmYXN0
L3NwZWVjaHJlY29nbml0aW9uL3Blcm1pc3Npb24tZXJyb3IuaHRtbCBbIFNraXAgXQogZmFzdC9z
cGVlY2hyZWNvZ25pdGlvbi9zdGFydC1yZWNvZ25pdGlvbi10aGVuLXN0b3AuaHRtbCBbIFNraXAg
XQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1zZWNvbmQtcmVjb2duaXRpb24uaHRtbCBb
IFNraXAgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9pb3MvIFsgU2tpcCBdCitpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zLyBbIFNraXAgXQogCiAjIGFwcC1wcml2
YWN5LXJlcG9ydCB0ZXN0cyByZWx5IG9uIFdlYktpdEFkZGl0aW9ucwogaHR0cC90ZXN0cy9hcHAt
cHJpdmFjeS1yZXBvcnQvIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGI4NGQ0MGQ3NjVmMjA0
MDgzZGVmOGI2NzcwMGM0MjA0NGIwMzQ2OTguLjBjNGJhYTBjZmVlMDFmOTRjZWFmNGFmN2ZiMzhm
ODliNGZiNmJiZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
aWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CkBAIC0xOSwyOSArMTksMjkgQEAgUEFTUyBXb3Jr
ZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVl
CiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JMYW5ndWFnZTogbWVtYmVy
IG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRv
ck9uTGluZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGlu
Y2x1ZGVzIE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlx
dWUKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5
ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJm
YWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1p
c3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2Jq
ZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0
dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVz
IiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJt
aXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3Rh
dHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQ
ZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRf
b3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9u
U3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJ
TCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlIGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0
dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBl
cm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1
cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVy
bWlzc2lvblN0YXR1cyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHBlcm1pc3Npb25TdGF0
dXMgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9i
amVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwgU3RyaW5naWZpY2F0aW9uIG9m
IHBlcm1pc3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hl
biBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJzdGF0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBl
Y3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBn
b3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lv
blN0YXR1cyIKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0
dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
YXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVj
dCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIg
ZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25z
IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVy
bWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1l
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBl
cm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwg
UGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNz
aW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIg
cHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2lu
ZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlz
c2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJt
aXNzaW9ucyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeShvYmplY3QpIGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBl
Y3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgbXVz
dCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgYXNzZXJ0X2Vx
dWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRl
ZmluZWQiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgYXNz
ZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290
ICJ1bmRlZmluZWQiCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogbmF2aWdhdG9yLnBlcm1p
c3Npb25zIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVlcnkob2JqZWN0KSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2Jq
ZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogY2Fs
bGluZyBxdWVyeShvYmplY3QpIG9uIG5hdmlnYXRvci5wZXJtaXNzaW9ucyB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVv
ZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBOYXZp
Z2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGVybWlzc2lvbnMgYXNzZXJ0X3RydWU6IFRoZSBw
cm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJwZXJtaXNzaW9ucyIgZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogbmF2aWdhdG9yIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGVybWlzc2lvbnMiIHdpdGggdGhlIHByb3BlciB0eXBlIGFz
c2VydF9pbmhlcml0czogcHJvcGVydHkgInBlcm1pc3Npb25zIiBub3QgZm91bmQgaW4gcHJvdG90
eXBlIGNoYWluCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGlu
dGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9i
amVjdCBuYW1lCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVybWlzc2lv
blN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lv
blN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lv
blN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVz
IGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgbXVz
dCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBwZXJtaXNzaW9uU3RhdHVzCitQQVNTIFN0cmluZ2lm
aWNhdGlvbiBvZiBwZXJtaXNzaW9uU3RhdHVzCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJm
YWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RhdGUiIHdpdGgg
dGhlIHByb3BlciB0eXBlCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNz
aW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jaGFuZ2UiIHdpdGggdGhlIHByb3Bl
ciB0eXBlCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVj
dCBsZW5ndGgKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBl
cm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVj
dG9yIiBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMg
cHJvcGVydHkKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2Jq
ZWN0KQorUEFTUyBQZXJtaXNzaW9ucyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmln
YXRvci5wZXJtaXNzaW9ucworUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmF2aWdhdG9yLnBlcm1p
c3Npb25zCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogbmF2aWdhdG9yLnBlcm1pc3Npb25z
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVlcnkob2JqZWN0KSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBjYWxsaW5nIHF1ZXJ5KG9iamVjdCkgb24g
bmF2aWdhdG9yLnBlcm1pc3Npb25zIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBU
eXBlRXJyb3IKK1BBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIHBlcm1pc3Npb25z
CitQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IG5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgInBlcm1pc3Npb25zIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhh
cm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQKaW5kZXggNTI1NjAyZDE2ZDdmMGY1NGNhOGVmMDNmN2ZjZjViNGVlZWYzMTY5Ny4u
MDYyYjI5NTdmMzE1NTFiMzUyYTQ5NTQxNmMzZjRhYmZhNTc5OWU2ZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxo
YXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dApAQCAtMTksMjUgKzE5LDI1IEBAIFBBU1MgV29ya2VyTmF2aWdhdG9yIGlu
Y2x1ZGVzIE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJO
YXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JPbkxpbmU6IG1lbWJl
ciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0
b3JDb25jdXJyZW50SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCi1GQUlMIFBlcm1p
c3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0
YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbGVu
Z3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
IlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBt
aXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Np
b25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1G
QUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJv
cGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQg
cHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1
cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0
ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0
YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBw
cm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVz
IGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCitQQVNTIFBlcm1pc3Npb25TdGF0dXMg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAor
UEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1p
c3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBlcm1pc3Npb25TdGF0dXMg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIg
cHJvcGVydHkKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMg
cHJvcGVydHkKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0
ZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlCiBG
QUlMIFBlcm1pc3Npb25TdGF0dXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBwZXJtaXNz
aW9uU3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVh
dGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCiBGQUlMIFN0cmluZ2lmaWNh
dGlvbiBvZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0
aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAi
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCiBG
QUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAic3RhdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6
IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVs
bCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBl
cm1pc3Npb25TdGF0dXMiCiBGQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNz
aW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jaGFuZ2UiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGlu
ZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBlcm1pc3Npb25zIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlz
c2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJt
aXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVy
dHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmpl
Y3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5n
Ci1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAi
UGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3Ry
dWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMi
IG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3Bl
cnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
IlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZB
SUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2JqZWN0KSBhc3NlcnRf
b3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9u
cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCitQQVNTIFBlcm1pc3Np
b25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUGVybWlz
c2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQ
QVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQ
ZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUGVybWlz
c2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2JqZWN0KQogRkFJTCBQZXJtaXNzaW9u
cyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmlnYXRvci5wZXJtaXNzaW9ucyBhc3Nl
cnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3Qg
InVuZGVmaW5lZCIKIEZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5wZXJtaXNzaW9u
cyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1
dCBnb3QgInVuZGVmaW5lZCIKIEZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBuYXZpZ2F0b3Iu
cGVybWlzc2lvbnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeShvYmplY3QpIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVk
ICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXggYzNlODYwNWY4
NzI4N2E4MDM4MWY1ZGI4MDZjZGQwNWEyNTU2NWRkZS4uYzJmZDY1ZThkNDAwMmE3MjMwMTg3YTYx
ZjUxYzI4MmVmYzFjNmJlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwg
VGVzdCBXZWIgTkZDIFBlcm1pc3Npb24uIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFs
dWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKQorUEFTUyBUZXN0IFdlYiBORkMg
UGVybWlzc2lvbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGlj
eS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVh
dHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQKaW5kZXggZTQyZGRh
MjYxMmYyNTdiN2YwMmJiZWVmNjU2MzNiMjViNzM2NDdhNS4uYzRiYTI0OTJlOTkxOTlkNjY2MDVh
OGMwMWFhMDE1MWI5NjI0NjA3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJl
LXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25z
LXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0ZWQudHh0CkBA
IC0xLDYgKzEsNiBAQAogCi1GQUlMIFBlcm1pc3Npb25zLnN0YXRlIGlzICJwcm9tcHQiIHdpdGgg
YWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxz
OiBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgKHN0
cmluZykgInByb21wdCIgYnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIFBlcm1pc3Npb25zLnN0
YXRlIGlzICJwcm9tcHQiIHdpdGggYWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBjcm9zcy1vcmlnaW4g
aWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KCJnZW9s
b2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJwcm9tcHQiIGJ1dCBnb3QgKG9iamVjdCkgbnVs
bAotRkFJTCBQZXJtaXNzaW9uLnN0YXRlIGlzICJwcm9tcHQiIGluIHNhbWUtb3JpZ2luIGlmcmFt
ZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9jYXRp
b24iKSBleHBlY3RlZCAoc3RyaW5nKSAicHJvbXB0IiBidXQgZ290IChvYmplY3QpIG51bGwKLUZB
SUwgUGVybWlzc2lvbi5zdGF0ZSBpcyAiZGVuaWVkIiBpbiBjcm9zcy1vcmlnaW4gaWZyYW1lcy4g
YXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KCJnZW9sb2NhdGlvbiIp
IGV4cGVjdGVkIChzdHJpbmcpICJkZW5pZWQiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAorUEFTUyBQ
ZXJtaXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93PSJnZW9sb2NhdGlvbiIgaW4g
c2FtZS1vcmlnaW4gaWZyYW1lcy4KK1BBU1MgUGVybWlzc2lvbnMuc3RhdGUgaXMgInByb21wdCIg
d2l0aCBhbGxvdz0iZ2VvbG9jYXRpb24iIGluIGNyb3NzLW9yaWdpbiBpZnJhbWVzLgorUEFTUyBQ
ZXJtaXNzaW9uLnN0YXRlIGlzICJwcm9tcHQiIGluIHNhbWUtb3JpZ2luIGlmcmFtZXMuCitGQUlM
IFBlcm1pc3Npb24uc3RhdGUgaXMgImRlbmllZCIgaW4gY3Jvc3Mtb3JpZ2luIGlmcmFtZXMuIGFz
c2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9jYXRpb24iKSBl
eHBlY3RlZCAiZGVuaWVkIiBidXQgZ290ICJwcm9tcHQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lv
bnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0
ZWQudHh0CmluZGV4IDExZmIxYTBkNjEyNGRhOTRlMDAxZTdkZDkyM2UwMTdjZTY5ZTc4YmEuLjBl
NGViY2M0N2NjYjkzODkwOGVjZTg0Y2M2OGYxNTNkMDg1Mzc5YTYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlz
c2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1l
LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IFBlcm1pc3Npb25TdGF0
dXMncyBuYW1lIGF0dHJpYnV0ZS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykiCitQQVNTIFRlc3QgUGVy
bWlzc2lvblN0YXR1cydzIG5hbWUgYXR0cmlidXRlLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtl
LWxvY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lv
bi1leHBlY3RlZC50eHQKaW5kZXggODVjN2JiYTVjMmIyNDU5M2Y1MWUyMTQ2YmUyNWJkMTZmYTA1
ZmY1OC4uZDY4YjY4MGI4MTlkZTE3YzNhZDM1YmQ1OGU2ZjUwZDE1YTZkYmFiZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9u
cy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvc2NyZWVuLXdh
a2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBU
ZXN0ICJzY3JlZW4td2FrZS1sb2NrIiBQZXJtaXNzaW9uLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKSIK
K0ZBSUwgVGVzdCAic2NyZWVuLXdha2UtbG9jayIgUGVybWlzc2lvbi4gcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVy
cm9yIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1mZXRjaC1wZXJtaXNzaW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cmlu
ZGV4IDlhOTQyNjlmYjc0MzhmYzYzYmUxOGQwMGNkMjk5N2NjNTliYThkZDYuLjc4NWJiNTg1ZjUx
NTk1ZmRlYTA1MjM0MTY3MjM4MTNjOGRiMjMxNTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5k
LWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNo
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgQmFj
a2dyb3VuZCBGZXRjaCBQZXJtaXNzaW9uLiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykKK1BBU1MgVGVzdCBCYWNrZ3Jv
dW5kIEZldGNoIFBlcm1pc3Npb24uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3Jv
dW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dyb3Vu
ZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CmluZGV4IDMxNmQzNTFhMGUwNzU0YjFlNTA5
YmYzY2EwYWRhNGI2NGRlMzU2YTcuLjRlOWYzN2E4NzU2ZWIxN2EyZmI4NGYxMTcwMmExNDNhODZi
NzA5OWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lv
bi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1wZXJtaXNz
aW9uLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IFBlcmlvZGljIEJh
Y2tncm91bmQgU3luYyBQZXJtaXNzaW9uLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKSIKK0ZBSUwgVGVz
dCBQZXJpb2RpYyBCYWNrZ3JvdW5kIFN5bmMgUGVybWlzc2lvbi4gcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9y
IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2Zhc3QvZG9tL25h
dmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2sxL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3Rl
ZC50eHQKaW5kZXggYzQ2ZmVjNjQwNTk4YmRmOWJmZWM1YmZiNzUxMWQ2NzA4N2VjMWI2ZS4uZTA4
MTcwMzQ1ODBhM2UyZDMyYTBjMGM1YzZkZGNmNTQ1NzUyYzkxNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jh
c2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvZmFzdC9k
b20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMTMsNiArMTMs
NyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgaXMgT0sKIG5hdmlnYXRvci5tZWRpYVNl
c3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlwZXMgaXMgT0sKIG5hdmlnYXRvci5vbkxpbmUg
aXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyBPSwogbmF2aWdhdG9yLnBsYXRmb3JtIGlz
IE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwogbmF2aWdhdG9yLnByb2R1Y3QgaXMgT0sKQEAg
LTM2LDYgKzM3LDcgQEAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGlzIE9LCiBuYXZpZ2F0
b3IubWVkaWFTZXNzaW9uIGlzIE9LCiBuYXZpZ2F0b3IubWltZVR5cGVzIGlzIE9LCiBuYXZpZ2F0
b3Iub25MaW5lIGlzIE9LCituYXZpZ2F0b3IucGVybWlzc2lvbnMgaXMgT0sKIG5hdmlnYXRvci5w
bGF0Zm9ybSBpcyBPSwogbmF2aWdhdG9yLnBsdWdpbnMgaXMgT0sKIG5hdmlnYXRvci5wcm9kdWN0
IGlzIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9t
L25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBl
Y3RlZC50eHQKaW5kZXggZGY5MDEwOTA0ZDU3N2U4NWEwNzY2NjdhOTM3YWQ3N2U2ZDhmNTk1Ny4u
YzY4ZDNjYTBiMzBjZGNlZTdkZTFlYjdiZTQxMzY5YTBiZWRiODNiYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8t
Y3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFz
dC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMTgsNiAr
MTgsNyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgaXMgT0sKIG5hdmlnYXRvci5tZWRp
YVNlc3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlwZXMgaXMgT0sKIG5hdmlnYXRvci5vbkxp
bmUgaXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyBPSwogbmF2aWdhdG9yLnBsYXRmb3Jt
IGlzIE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwogbmF2aWdhdG9yLnByb2R1Y3QgaXMgT0sK
QEAgLTUxLDYgKzUyLDcgQEAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGlzIE9LCiBuYXZp
Z2F0b3IubWVkaWFTZXNzaW9uIGlzIE9LCiBuYXZpZ2F0b3IubWltZVR5cGVzIGlzIE9LCiBuYXZp
Z2F0b3Iub25MaW5lIGlzIE9LCituYXZpZ2F0b3IucGVybWlzc2lvbnMgaXMgT0sKIG5hdmlnYXRv
ci5wbGF0Zm9ybSBpcyBPSwogbmF2aWdhdG9yLnBsdWdpbnMgaXMgT0sKIG5hdmlnYXRvci5wcm9k
dWN0IGlzIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDZjZWUwZmEyZDRkNWRmZjZiOWQ2MTgyN2VlZTNlOTE0ZDk3OWI5NDUuLjQwOGM4YjQxYmM0M2Nh
MWIzM2YwNjQ3OTEwYTJiYTVjNjYzMzZkYmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9U
ZXN0RXhwZWN0YXRpb25zCkBAIC04NjAsNCArODYwLDUgQEAgZmFzdC9zcGVlY2hyZWNvZ25pdGlv
bi9wZXJtaXNzaW9uLWVycm9yLmh0bWwgWyBQYXNzIF0KIGZhc3Qvc3BlZWNocmVjb2duaXRpb24v
c3RhcnQtcmVjb2duaXRpb24tdGhlbi1zdG9wLmh0bWwgWyBQYXNzIF0KIGZhc3Qvc3BlZWNocmVj
b2duaXRpb24vc3RhcnQtc2Vjb25kLXJlY29nbml0aW9uLmh0bWwgWyBQYXNzIF0KIGZ1bGxzY3Jl
ZW4vZnVsbC1zY3JlZW4tZW50ZXItd2hpbGUtZXhpdGluZy5odG1sIFsgUGFzcyBdCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zLyBbIFBhc3MgXQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436695</attachid>
            <date>2021-08-27 17:20:19 -0700</date>
            <delta_ts>2021-08-27 18:38:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210827172017.patch</filename>
            <type>text/plain</type>
            <size>129574</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLjFiMGRhYjE5MTFhYTBiNzhjNGQ1MDliMjliYWIzNjgwYjkyMzI5
NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDgtMjcgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVu
Y2VzRXhwZXJpbWVudGFsLnlhbWw6CisKIDIwMjEtMDgtMjUgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHNvbWUgaU9TLXNwZWNpZmljIGNv
bXBpbGUtdGltZSBndWFyZHMgdGhhdCBhcmUgbm8gbG9uZ2VyIG5lZWRlZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGRhOTM1MmRkOGVmOWRjZDk1ZmJkNjcxMmI1NGViNGVlZmZlZDI1YzIuLmQ1MzAxMjYxZjkyMWMy
ZDBmNTYzMTAxNjI5MWY5MTRjZTgyYmY4ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3OCBAQAor
MjAyMS0wOC0yNyAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MjQ0
MjIwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgYmluZGluZ3MgY29kZSBhbmQgYSBmZWF0dXJlIGZsYWcgZm9yIFBlcm1pc3Npb25zIEFQSS4K
KyAgICAgICAgU3BlYzogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLworCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gUmViYXNlbGluZSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAg
ICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbDogQWRkZWQu
CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6Ok5hdmlnYXRv
clBlcm1pc3Npb25zKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpw
ZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6ZnJv
bSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6c3VwcGxlbWVudE5h
bWUpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMu
aDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uQ29udHJv
bGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0
b3I6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbkRlc2Ny
aXB0b3I6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3Jp
cHRvcjo6ZGVjb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uTmFtZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25OYW1lLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uT2JzZXJ2ZXIuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uU3RhdGUuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uU3RhdGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25TdGF0dXMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Np
b25TdGF0dXM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdHVzOjpQ
ZXJtaXNzaW9uU3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6On5Q
ZXJtaXNzaW9uU3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OnN0
YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdHVzOjphY3RpdmVE
T01PYmplY3ROYW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6
OnZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXR1czo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNz
aW9uU3RhdHVzOjpldmVudExpc3RlbmVyc0RpZENoYW5nZSk6CisgICAgICAgICogTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlBlcm1pc3Npb25zOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbnM6OlBl
cm1pc3Npb25zKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpuYXZpZ2F0b3IpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbnM6OnF1ZXJ5KToKKyAgICAgICAgKiBNb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cGVybWlzc2lvbkNvbnRyb2xsZXIp
OgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZh
Y3RvcnkuaW46CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnBlcm1pc3Npb25Db250cm9sbGVy
KToKKyAgICAgICAgKiBkb20vVGFza1NvdXJjZS5oOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNs
aWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFnZUNvbmZpZ3VyYXRpb25XaXRoRW1wdHlD
bGllbnRzKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bV9w
ZXJtaXNzaW9uQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpwZXJtaXNzaW9u
Q29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjptX2h0dHBzVXBncmFkZUVuYWJsZWQpOiBE
ZWxldGVkLgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbmZp
Z3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VD
b25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmg6CisKIDIw
MjEtMDgtMjUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBDcmFzaCBpbiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cmVzaGFwZURpc3BsYXlC
dWZmZXJCYWNraW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQyNDFiMmU2ZmE3ODU0ZjE1ZmQzM2M2Y2E5YzdmZWIz
N2JjMWRiMjEuLmMxZDg4MTQxMTBmOThmNDlmYWEyYTU4MjM5NDBhYTc0NDM0YTMwMjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjEtMDgtMjcgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgU2V0IHVwIGJhc2ljIGluZnJhc3RyY3R1cmUgb2YgcGVybWlz
c2lvbiBnZXR0aW5nIGFuZCBzZXR0aW5nLgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBlcm1pc3Np
b25Db250cm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6
OnF1ZXJ5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnJlcXVl
c3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVlcnlDYWNo
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRhdGVDYWNo
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQcm9jZXNz
aW5nUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjph
ZGRPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjpy
ZW1vdmVPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVy
OjpwZXJtaXNzaW9uQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fYXBwSGlnaGxpZ2h0c1Zp
c2libGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hN
b25pdG9yTWFjLmg6CisKIDIwMjEtMDgtMjYgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVq
aWlAc29ueS5jb20+CiAKICAgICAgICAgW2N1cmxdIFJFR1JFU1NJT04ocjI4MTE1OCk6IGZldGNo
KCdodHRwOi8vbG9jYWxob3N0LycpIGZyb20gYWJvdXQ6YmxhbmsgZG9lc24ndCBlbWl0IHRoZSBj
b25zb2xlIGVycm9yIG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA0NWE1
NDg2ZTA1ODA1ZDk3YmMxZTQ4YjQ0ZjkzZGEzMDMyOGE2YTFkLi5mMDgwMzM1YWVlNzg4OGZmMTgx
NDg0Y2M2MzNlOGM3NGYyMjY3MTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMjEtMDgtMjcgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2Nv
bW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6XSk6CisgICAgICAgICgt
W1dlYlZpZXcgaW5pdFNpbXBsZUhUTUxEb2N1bWVudFdpdGhTdHlsZTpmcmFtZTpwcmVmZXJlbmNl
czpncm91cE5hbWU6XSk6CisKIDIwMjEtMDgtMjQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBbV0syXSBJbXBsZW1lbnQgcHJvY2Vzcy1zd2FwcGluZyBiYXNlZCBv
biBDcm9zcy1PcmlnaW4tT3BlbmVyLVBvbGljeSBIVFRQIGhlYWRlcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
Q2hhbmdlTG9nCmluZGV4IGUyODE1MTAyOThhOGM3MzY0MWRjNDA0OTU2OTdhMmRmNDVhNTEzY2Eu
LmJiNDRmNzYwNTJkMWQxNjdiZTg0YmYwM2Y0ODM4NDk3ZTk2ZDRiM2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wOC0yNyAgU2lodWkgTGl1ICA8
c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25z
IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5
MzM5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MjQ0MjIwNT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAo
V2ViVmlldzo6aW5pdFdpdGhGcmFtZSk6CisKIDIwMjEtMDgtMjQgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbV0syXSBJbXBsZW1lbnQgcHJvY2Vzcy1zd2FwcGlu
ZyBiYXNlZCBvbiBDcm9zcy1PcmlnaW4tT3BlbmVyLVBvbGljeSBIVFRQIGhlYWRlcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJp
bWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbAppbmRleCAxODVhNWFjMGY0NTRjNzZjMDM0NzkyYWQxODU3NjFm
Y2NhNjk0OTkxLi41NTU0NjAwZGJjNjY1OGZhMWNhYjJkMDU4Y2Q1MzVkYWY1MjkzMWM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBl
cmltZW50YWwueWFtbAorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJl
ZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbApAQCAtODgxLDYgKzg4MSwxOCBAQCBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nU2Vuc2l0aXZlUHJvcGVydGllc0VuYWJsZWQ6CiAgICAgV2ViQ29yZToK
ICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKK1Blcm1pc3Npb25zQVBJRW5hYmxlZDoKKyAgdHlwZTog
Ym9vbAorICBodW1hblJlYWRhYmxlTmFtZTogIlBlcm1pc3Npb25zIEFQSSIKKyAgaHVtYW5SZWFk
YWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFBlcm1pc3Npb25zIEFQSSIKKyAgZGVmYXVsdFZhbHVl
OgorICAgIFdlYktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0Ogor
ICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UK
KwogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREZWJ1Z01vZGVFbmFibGVkOgogICB0eXBlOiBib29s
CiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudCBEZWJ1ZyBN
b2RlIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBiYmI4NDJhNTM5YTEwODdjOWUxZGI0NjNkMDE5
ZGQyYjEyMzE0MmM5Li4wN2U1ZTA1NThmNmRkZDQxMWVjNGNmNTk2ZGUzNDNmNDgzYzA5NzdiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDgsNiArNDgsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRF
X0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9uYXZpZ2F0
b3Jjb250ZW50dXRpbHMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbm90aWZpY2F0aW9u
cyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9wYXltZW50cmVxdWVzdCIKKyAgICAiJHtX
RUJDT1JFX0RJUn0vTW9kdWxlcy9wZXJtaXNzaW9ucyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9k
dWxlcy9waWN0dXJlaW5waWN0dXJlIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3BsdWdp
bnMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcmVtb3RlcGxheWJhY2siCkBAIC0yMDEs
NiArMjAyLDcgQEAgc2V0KFdlYkNvcmVfSURMX0lOQ0xVREVTCiAgICAgTW9kdWxlcy9tb2RlbC1l
bGVtZW50CiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zCiAgICAgTW9kdWxlcy9wYXltZW50cmVx
dWVzdAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMKICAgICBNb2R1bGVzL3NwZWVjaAogICAgIE1v
ZHVsZXMvc3RyZWFtcwogICAgIE1vZHVsZXMvd2ViYXVkaW8KQEAgLTQ2MCw2ICs0NjIsMTMgQEAg
c2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0
L1BheW1lbnRTaGlwcGluZ1R5cGUuaWRsCiAgICAgTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXlt
ZW50VmFsaWRhdGlvbkVycm9ycy5pZGwKIAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdh
dG9yK1Blcm1pc3Npb25zLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRl
c2NyaXB0b3IuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwK
KyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwKKyAgICBNb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9ucy5pZGwKKwogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVu
dCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1
bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGljdHVy
ZWlucGljdHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDM5YjJiMzAwNGU0YzU3
OTQzN2U2NWFjYTk3MzI3Yzc4ZDRkNzQ1ZGUuLjUxMWI1MTMxMjAwYWJlYzgzYmU0OTA3YTdiZTQx
OTIzYTYyZjM2OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQu
eGNmaWxlbGlzdApAQCAtMzg4LDYgKzM4OCwxMiBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdUeXBlLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVycm9ycy5pZGwK
KyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25z
LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3Jp
cHRvci5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5h
bWUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1
cy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGljdHVy
ZUluUGljdHVyZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9E
b2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmlkbApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRl
eCAxOTY3MWY3NTA2ZDZhNzkzNzRjNWVhNDVhYzc3MWZjN2YxYjc5NTJiLi45YjQ4NGFiYTQ4YzJj
NWNmYzYwYWNlZWVjMjkzZWJjYTljMzk3MWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTM3Nyw2ICsxMzc3LDggQEAgJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFE
ZXZpY2VzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNOYXZpZ2F0b3IrTWVkaWFEZXZpY2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vzc2lvbi5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vzc2lv
bi5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmln
YXRvcitQZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTmF2aWdhdG9yK1Blcm1pc3Npb25zLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dlYkRyaXZlci5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dlYkRy
aXZlci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05h
dmlnYXRvcitXZWJYUi5jcHAKQEAgLTE1ODMsNiArMTU4NSwxNiBAQCAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZUNvbnN0cmFpbnRzLmNw
cAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2Rp
Y1dhdmVDb25zdHJhaW50cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuaAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uRGVzY3JpcHRv
ci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJtaXNzaW9uTmFtZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbk5hbWUuaAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdGUuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0ZS5o
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Np
b25TdGF0dXMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1Blcm1pc3Npb25TdGF0dXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5QaWN0
dXJlV2luZG93LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUGxheWJhY2tEaXJlY3Rpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRl
eCBkNjRlNjVlODZlNWUxMTQyNjY3YTllMzgyNzY4M2E5NjkyZjI3YWYxLi5mOWVlNjQyOGJhMGE1
NGQ1NGMwMjU3YWE2ZDZhMDAwMWUyZTQyMWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKQEAgLTMyNCw2ICszMjQsMTIgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ1R5cGUu
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFZhbGlk
YXRpb25FcnJvcnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2
aWdhdG9yK1Blcm1pc3Npb25zLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Bp
Y3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGljdHVyZUluUGljdHVyZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50K1BpY3R1
cmVJblBpY3R1cmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlucGljdHVy
ZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXgg
ZWIwN2I4MGM5OTMzZDY5YThjMzYzMTkxOGM3NWRiZTRlMzdhOTJiOC4uNzZjZTBjNjYxZmVlODMw
ZDE3NmUzNjFmNTc5ODczNWM3YWUxZTBjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMjksNiAr
MTI5LDEyIEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBNb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbi5oCiAgICAgTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oCiAKKyAgICBNb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgKKyAgICBNb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25OYW1lLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZl
ci5oCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaAorCiAgICAgTW9k
dWxlcy9wbHVnaW5zL1BsdWdpblJlcGxhY2VtZW50LmgKICAgICBNb2R1bGVzL3BsdWdpbnMvWW91
VHViZVBsdWdpblJlcGxhY2VtZW50LmgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjYwYjEyN2U3ZjNhMWM1NjY2Y2QwZDBjODhmZTkxMWU5NmM4MzRmNjUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJt
aXNzaW9ucy5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNj
LmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jbmF2aWdhdG9yLWFuZC13b3JrZXJuYXZpZ2F0b3ItZXh0
ZW5zaW9uCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorICAgIElt
cGxlbWVudGVkQnk9TmF2aWdhdG9yUGVybWlzc2lvbnMKK10gcGFydGlhbCBpbnRlcmZhY2UgTmF2
aWdhdG9yIHsKKyAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFBlcm1pc3Npb25z
IHBlcm1pc3Npb25zOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkxZjU1
NTg4NmQ4ZTcxYTM0OWVlNzViZjNjNDE2ZjAyZjFjNDdhYgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3Bw
CkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiTmF2aWdhdG9yUGVybWlzc2lvbnMuaCIKKworI2luY2x1ZGUgIk5hdmlnYXRvci5oIgor
I2luY2x1ZGUgIlBlcm1pc3Npb25zLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTmF2aWdh
dG9yUGVybWlzc2lvbnM6Ok5hdmlnYXRvclBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9y
KQorICAgIDogbV9uYXZpZ2F0b3IobmF2aWdhdG9yKQoreworfQorCitSZWZQdHI8UGVybWlzc2lv
bnM+IE5hdmlnYXRvclBlcm1pc3Npb25zOjpwZXJtaXNzaW9ucyhOYXZpZ2F0b3ImIG5hdmlnYXRv
cikKK3sKKyAgICByZXR1cm4gTmF2aWdhdG9yUGVybWlzc2lvbnM6OmZyb20obmF2aWdhdG9yKS0+
cGVybWlzc2lvbnMoKTsKK30KKworUmVmUHRyPFBlcm1pc3Npb25zPiBOYXZpZ2F0b3JQZXJtaXNz
aW9uczo6cGVybWlzc2lvbnMoKQoreworICAgIGlmICghbV9wZXJtaXNzaW9ucykKKyAgICAgICAg
bV9wZXJtaXNzaW9ucyA9IFBlcm1pc3Npb25zOjpjcmVhdGUobV9uYXZpZ2F0b3IpOworCisgICAg
cmV0dXJuIG1fcGVybWlzc2lvbnM7Cit9CisKK05hdmlnYXRvclBlcm1pc3Npb25zKiBOYXZpZ2F0
b3JQZXJtaXNzaW9uczo6ZnJvbShOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICBhdXRvKiBz
dXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8TmF2aWdhdG9yUGVybWlzc2lvbnMqPihTdXBwbGVtZW50
PE5hdmlnYXRvcj46OmZyb20oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSkpOworICAgIGlm
ICghc3VwcGxlbWVudCkgeworICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVl
PE5hdmlnYXRvclBlcm1pc3Npb25zPihuYXZpZ2F0b3IpOworICAgICAgICBzdXBwbGVtZW50ID0g
bmV3U3VwcGxlbWVudC5nZXQoKTsKKyAgICAgICAgcHJvdmlkZVRvKCZuYXZpZ2F0b3IsIHN1cHBs
ZW1lbnROYW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOworICAgIH0KKworICAgIHJldHVy
biBzdXBwbGVtZW50OworfQorCitjb25zdCBjaGFyKiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6c3Vw
cGxlbWVudE5hbWUoKQoreworICAgIHJldHVybiAiTmF2aWdhdG9yUGVybWlzc2lvbnMiOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBh
NzM5ZGE3MTQ0MGM3YTMzYjIzMmNhZTk4MzUyMDE5ZmRhNDQ0YwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMu
aApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
ICJTdXBwbGVtZW50YWJsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmln
YXRvcjsKK2NsYXNzIFBlcm1pc3Npb25zOworCitjbGFzcyBOYXZpZ2F0b3JQZXJtaXNzaW9ucyBm
aW5hbCA6IHB1YmxpYyBTdXBwbGVtZW50PE5hdmlnYXRvcj4geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworcHVibGljOgorICAgIGV4cGxpY2l0IE5hdmlnYXRvclBlcm1pc3Npb25zKE5h
dmlnYXRvciYpOworCisgICAgc3RhdGljIFJlZlB0cjxQZXJtaXNzaW9ucz4gcGVybWlzc2lvbnMo
TmF2aWdhdG9yJik7CisgICAgUmVmUHRyPFBlcm1pc3Npb25zPiBwZXJtaXNzaW9ucygpOworCitw
cml2YXRlOgorICAgIHN0YXRpYyBOYXZpZ2F0b3JQZXJtaXNzaW9ucyogZnJvbShOYXZpZ2F0b3Im
KTsKKyAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKKworICAgIFJlZlB0
cjxQZXJtaXNzaW9ucz4gbV9wZXJtaXNzaW9uczsKKyAgICBOYXZpZ2F0b3ImIG1fbmF2aWdhdG9y
OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uQ29udHJvbGxlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZhN2QzYWE2NGVmNjFlM2I0
NWU1Yzk0OTFlNmU5MzU1MTI1MzUzMWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgKQEAgLTAsMCArMSw1
NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVybWlzc2lvblN0
YXRlLmgiCisjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CisjaW5jbHVkZSA8d3Rm
L1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
UGVybWlzc2lvbk9ic2VydmVyOworc3RydWN0IENsaWVudE9yaWdpbjsKK3N0cnVjdCBQZXJtaXNz
aW9uRGVzY3JpcHRvcjsKKworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXIgOiBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8UGVybWlzc2lvbkNvbnRyb2xsZXI+IHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJtaXNzaW9uQ29udHJvbGxl
cigpID0gZGVmYXVsdDsKKyAgICB2aXJ0dWFsIFBlcm1pc3Npb25TdGF0ZSBxdWVyeShDbGllbnRP
cmlnaW4mJiwgUGVybWlzc2lvbkRlc2NyaXB0b3ImJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBy
ZXF1ZXN0KENsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFBlcm1pc3Npb25TdGF0ZSk+JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
YWRkT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBy
ZW1vdmVPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSA9IDA7Cit9OworCitjbGFzcyBEdW1t
eVBlcm1pc3Npb25Db250cm9sbGVyIGZpbmFsIDogcHVibGljIFBlcm1pc3Npb25Db250cm9sbGVy
IHsKKyAgICBQZXJtaXNzaW9uU3RhdGUgcXVlcnkoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25E
ZXNjcmlwdG9yJiYpIGZpbmFsIHsgcmV0dXJuIFBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkOyB9Cisg
ICAgdm9pZCByZXF1ZXN0KENsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFBlcm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRs
ZXIpIGZpbmFsIHsgY29tcGxldGlvbkhhbmRsZXIoUGVybWlzc2lvblN0YXRlOjpEZW5pZWQpOyB9
CisgICAgdm9pZCBhZGRPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSBmaW5hbCB7IH0KKyAg
ICB2b2lkIHJlbW92ZU9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpIGZpbmFsIHsgfQorfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRl
ODRiMmQ0Yzc3YTk4ZTk1YjY2NDk4ZGM0ZDBiMzhhOTA4OWUxZTUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9y
LmgKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSAiUGVybWlzc2lvbk5hbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUGVy
bWlzc2lvbkRlc2NyaXB0b3IgeworICAgIFBlcm1pc3Npb25OYW1lIG5hbWU7CisKKyAgICBib29s
IG9wZXJhdG9yPT0oY29uc3QgUGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IpIGNvbnN0
IHsgcmV0dXJuIG5hbWUgPT0gZGVzY3JpcHRvci5uYW1lOyB9CisgICAgdGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFBlcm1pc3Npb25EZXNjcmlwdG9yPiBkZWNv
ZGUoRGVjb2RlciYpOworfTsKKwordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gaW5saW5lIHZvaWQg
UGVybWlzc2lvbkRlc2NyaXB0b3I6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAorewor
ICAgIGVuY29kZXIgPDwgbmFtZTsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RkOjpv
cHRpb25hbDxQZXJtaXNzaW9uRGVzY3JpcHRvcj4gUGVybWlzc2lvbkRlc2NyaXB0b3I6OmRlY29k
ZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIFBlcm1pc3Npb25EZXNjcmlwdG9yIHJlc3VsdDsK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5uYW1lKSkKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGYzNmEzMmEyY2NjZDMzOTkz
OWI3ZGU4MzVkZmVkYmJmNGY1N2NjOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEs
MzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMv
I2RpY3RkZWYtcGVybWlzc2lvbmRlc2NyaXB0b3IKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9
UGVybWlzc2lvbnNBUEksCitdIGRpY3Rpb25hcnkgUGVybWlzc2lvbkRlc2NyaXB0b3IgeworICAg
IHJlcXVpcmVkIFBlcm1pc3Npb25OYW1lIG5hbWU7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMDll
MTkwZjIyNzU2ZWEyMTMwOTc1MDQyODNkNDkyNjNjN2M1NzEKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmgKQEAgLTAs
MCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2VudW0gY2xhc3MgUGVybWlzc2lvbk5hbWUgOiB1aW50OF90IHsKKyAgICBBY2NlbGVy
b21ldGVyLAorICAgIEJhY2tncm91bmRGZXRjaCwKKyAgICBCbHVldG9vdGgsCisgICAgQ2FtZXJh
LAorICAgIERpc3BsYXlDYXB0dXJlLAorICAgIEdlb2xvY2F0aW9uLAorICAgIEd5cm9zY29wZSwK
KyAgICBNYWduZXRvbWV0ZXIsCisgICAgTWljcm9waG9uZSwKKyAgICBNaWRpLAorICAgIE5mYywK
KyAgICBOb3RpZmljYXRpb25zLAorICAgIFNwZWFrZXJTZWxlY3Rpb24KK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVu
dW1UcmFpdHM8V2ViQ29yZTo6UGVybWlzc2lvbk5hbWU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBF
bnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZSwKKyAgICAgICAgV2Vi
Q29yZTo6UGVybWlzc2lvbk5hbWU6OkFjY2VsZXJvbWV0ZXIsCisgICAgICAgIFdlYkNvcmU6OlBl
cm1pc3Npb25OYW1lOjpCYWNrZ3JvdW5kRmV0Y2gsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Np
b25OYW1lOjpCbHVldG9vdGgsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpDYW1l
cmEsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpEaXNwbGF5Q2FwdHVyZSwKKyAg
ICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Okdlb2xvY2F0aW9uLAorICAgICAgICBXZWJD
b3JlOjpQZXJtaXNzaW9uTmFtZTo6R3lyb3Njb3BlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNz
aW9uTmFtZTo6TWFnbmV0b21ldGVyLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6
TWljcm9waG9uZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok1pZGksCisgICAg
ICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpOZmMsCisgICAgICAgIFdlYkNvcmU6OlBlcm1p
c3Npb25OYW1lOjpOb3RpZmljYXRpb25zLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFt
ZTo6U3BlYWtlclNlbGVjdGlvbgorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5h
bWUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFt
ZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZWQ4YmUwZmQ3NWMyY2NiN2Q4YWY5ZTliOTY2MTczZWY2MTg3ZDg2
YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbk5hbWUuaWRsCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRw
czovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1kZWYtcGVybWlzc2lvbm5hbWUKKwor
WworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCitdIGVudW0gUGVybWlzc2lv
bk5hbWUgeworICAgIC8vIEZJWE1FOiB1cGRhdGUgdGhlIGxpc3QgdG8gbWF0Y2ggc3BlYyB3aGVu
IG5ldyBmZWF0dXJlcyBhcmUgaW1wbGVtZW50ZWQuCisgICAgImFjY2VsZXJvbWV0ZXIiLAorICAg
ICJiYWNrZ3JvdW5kLWZldGNoIiwKKyAgICAiYmx1ZXRvb3RoIiwKKyAgICAiY2FtZXJhIiwKKyAg
ICAiZGlzcGxheS1jYXB0dXJlIiwKKyAgICAiZ2VvbG9jYXRpb24iLAorICAgICJneXJvc2NvcGUi
LAorICAgICJtYWduZXRvbWV0ZXIiLAorICAgICJtaWNyb3Bob25lIiwKKyAgICAibWlkaSIsCisg
ICAgIm5mYyIsCisgICAgIm5vdGlmaWNhdGlvbnMiLAorICAgICJzcGVha2VyLXNlbGVjdGlvbiIK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25PYnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uT2JzZXJ2ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTdkNmRhNTkxZDdkNjRhYmVhYjhjYmNiYTYz
YmMxYTFmMjViMGE4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uT2JzZXJ2ZXIuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdGUuaCIKKyNpbmNs
dWRlIDx3dGYvV2Vha1B0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBDbGll
bnRPcmlnaW47CitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7CisKK2NsYXNzIFBlcm1pc3Np
b25PYnNlcnZlciA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQZXJtaXNzaW9uT2JzZXJ2ZXI+IHsK
K3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJtaXNzaW9uT2JzZXJ2ZXIoKSA9IGRlZmF1bHQ7CisK
KyAgICB2aXJ0dWFsIHZvaWQgc3RhdGVDaGFuZ2VkKFBlcm1pc3Npb25TdGF0ZSkgPSAwOworICAg
IHZpcnR1YWwgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4oKSBjb25zdCA9IDA7CisgICAgdmly
dHVhbCBjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNvbnN0ID0gMDsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjYWRmNTIw
MWUwYzM3YjMwZjRiNzJlYTA4MDQwODU4NGI4ODg0ODQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCkBAIC0wLDAg
KzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9FbnVt
VHJhaXRzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBQZXJtaXNzaW9u
U3RhdGUgOiB1aW50OF90IHsKKyAgICBHcmFudGVkLAorICAgIERlbmllZCwKKyAgICBQcm9tcHQK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBs
YXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6UGVybWlzc2lvblN0YXRlPiB7CisgICAg
dXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0
YXRlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkdyYW50ZWQsCisgICAgICAg
IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkLAorICAgICAgICBXZWJDb3JlOjpQZXJt
aXNzaW9uU3RhdGU6OlByb21wdAorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXRlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43NTc3OTc4MTJkMTk4NjllZjNlNTFhMmRiOWVhOGE3YWYxNjhh
YzliCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uU3RhdGUuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBo
dHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1kZWYtcGVybWlzc2lvbnN0YXRl
CisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBlbnVtIFBlcm1p
c3Npb25TdGF0ZSB7CisgICAgImdyYW50ZWQiLAorICAgICJkZW5pZWQiLAorICAgICJwcm9tcHQi
Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uU3RhdHVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvblN0YXR1cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2UyMzVmYzZlMDI4YjI2M2ZmYzQxNjlkODhi
MzAyNDQ1NTBkMzEyYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKQEAgLTAsMCArMSwxMDYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXR1cy5o
IgorCisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNp
bmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIK
KyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChQZXJtaXNzaW9uU3RhdHVzKTsKKworUmVm
PFBlcm1pc3Npb25TdGF0dXM+IFBlcm1pc3Npb25TdGF0dXM6OmNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBjb250ZXh0LCBQZXJtaXNzaW9uU3RhdGUgc3RhdGUsIFBlcm1pc3Npb25EZXNj
cmlwdG9yIGRlc2NyaXB0b3IpCit7CisgICAgYXV0byBzdGF0dXMgPSBhZG9wdFJlZigqbmV3IFBl
cm1pc3Npb25TdGF0dXMoY29udGV4dCwgc3RhdGUsIGRlc2NyaXB0b3IpKTsKKyAgICBzdGF0dXMt
PnN1c3BlbmRJZk5lZWRlZCgpOworICAgIHJldHVybiBzdGF0dXM7Cit9CisKK1Blcm1pc3Npb25T
dGF0dXM6OlBlcm1pc3Npb25TdGF0dXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
UGVybWlzc2lvblN0YXRlIHN0YXRlLCBQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yKQor
ICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwgbV9zdGF0ZShzdGF0ZSkKKyAg
ICAsIG1fZGVzY3JpcHRvcihkZXNjcmlwdG9yKQorICAgICwgbV9jb250cm9sbGVyKGNvbnRleHQu
cGVybWlzc2lvbkNvbnRyb2xsZXIoKSkKK3sKKyAgICBhdXRvKiBvcmlnaW4gPSBjb250ZXh0LnNl
Y3VyaXR5T3JpZ2luKCk7CisgICAgYXV0byBvcmlnaW5EYXRhID0gb3JpZ2luID8gb3JpZ2luLT5k
YXRhKCkgOiBTZWN1cml0eU9yaWdpbkRhdGEgeyB9OworICAgIG1fb3JpZ2luID0gQ2xpZW50T3Jp
Z2luIHsgY29udGV4dC50b3BPcmlnaW4oKS5kYXRhKCksIG9yaWdpbkRhdGEgfTsKK30KKworUGVy
bWlzc2lvblN0YXR1czo6flBlcm1pc3Npb25TdGF0dXMoKQoreworICAgIGlmIChtX2NvbnRyb2xs
ZXIpCisgICAgICAgIG1fY29udHJvbGxlci0+cmVtb3ZlT2JzZXJ2ZXIoKnRoaXMpOworfQorCit2
b2lkIFBlcm1pc3Npb25TdGF0dXM6OnN0YXRlQ2hhbmdlZChQZXJtaXNzaW9uU3RhdGUgbmV3U3Rh
dGUpCit7CisgICAgaWYgKG1fc3RhdGUgPT0gbmV3U3RhdGUpCisgICAgICAgIHJldHVybjsKKwor
ICAgIG1fc3RhdGUgPSBuZXdTdGF0ZTsKKyAgICBtX2hhc1BlbmRpbmdBY3Rpdml0eSA9IHRydWU7
CisgICAgcXVldWVUYXNrVG9EaXNwYXRjaEV2ZW50KCp0aGlzLCBUYXNrU291cmNlOjpQZXJtaXNz
aW9uLCBFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgRXZlbnQ6OkNhbkJ1
YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7Cit9CisKK2NvbnN0IGNoYXIqIFBl
cm1pc3Npb25TdGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAoreworICAgIHJldHVy
biAiUGVybWlzc2lvblN0YXR1cyI7Cit9CisKK2Jvb2wgUGVybWlzc2lvblN0YXR1czo6dmlydHVh
bEhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0Cit7CisgICAgaWYgKG1faGFzUGVuZGluZ0FjdGl2
aXR5KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlmIChtX2hhc1JlbGV2YW50RXZlbnRM
aXN0ZW5lcikgeworICAgICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpOworICAgICAgICBpZiAoY29udGV4dCAmJiBjb250ZXh0LT5pc0RvY3VtZW50KCkpCisgICAg
ICAgICAgICByZXR1cm4gZG93bmNhc3Q8RG9jdW1lbnQ+KCpjb250ZXh0KS5oYXNCcm93c2luZ0Nv
bnRleHQoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNl
OworfQorCit2b2lkIFBlcm1pc3Npb25TdGF0dXM6OmRpc3BhdGNoRXZlbnQoRXZlbnQmIGV2ZW50
KQoreworICAgIGlmIChtX2hhc1BlbmRpbmdBY3Rpdml0eSAmJiBldmVudC5pc1RydXN0ZWQoKSkK
KyAgICAgICAgbV9oYXNQZW5kaW5nQWN0aXZpdHkgPSBmYWxzZTsKKworICAgIEV2ZW50VGFyZ2V0
OjpkaXNwYXRjaEV2ZW50KGV2ZW50KTsKK30KKwordm9pZCBQZXJtaXNzaW9uU3RhdHVzOjpldmVu
dExpc3RlbmVyc0RpZENoYW5nZSgpCit7CisgICAgbV9oYXNSZWxldmFudEV2ZW50TGlzdGVuZXIg
PSBoYXNFdmVudExpc3RlbmVycyhldmVudE5hbWVzKCkuY2hhbmdlRXZlbnQpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3MmJkNWE3MjA5NWI0Njdi
YzY3ZmIyZDBkNDZiZjM3MzhiYjliMGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaApAQCAtMCwwICsxLDg0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJBY3RpdmVET01PYmplY3Qu
aCIKKyNpbmNsdWRlICJDbGllbnRPcmlnaW4uaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgor
I2luY2x1ZGUgIlBlcm1pc3Npb25EZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbk5h
bWUuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJQZXJtaXNz
aW9uU3RhdGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQZXJtaXNzaW9uQ29u
dHJvbGxlcjsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIFBlcm1pc3Np
b25TdGF0dXMgZmluYWwgOiBwdWJsaWMgUGVybWlzc2lvbk9ic2VydmVyLCBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0LCBwdWJsaWMgUmVmQ291bnRlZDxQZXJtaXNzaW9uU3RhdHVzPiwgcHVibGljIEV2
ZW50VGFyZ2V0V2l0aElubGluZURhdGEgIHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFBl
cm1pc3Npb25TdGF0dXMpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UGVybWlzc2lvblN0YXR1
cz4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBQZXJtaXNzaW9uU3RhdGUsIFBlcm1p
c3Npb25EZXNjcmlwdG9yKTsKKyAgICB+UGVybWlzc2lvblN0YXR1cygpOworCisgICAgUGVybWlz
c2lvblN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZTsgfQorICAgIFBlcm1pc3Np
b25OYW1lIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX2Rlc2NyaXB0b3IubmFtZTsgfQorCisgICAg
dXNpbmcgUmVmQ291bnRlZDo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOworCisg
ICAgdXNpbmcgUGVybWlzc2lvbk9ic2VydmVyOjp3ZWFrUHRyRmFjdG9yeTsKKyAgICB1c2luZyBX
ZWFrVmFsdWVUeXBlID0gUGVybWlzc2lvbk9ic2VydmVyOjpXZWFrVmFsdWVUeXBlOworCitwcml2
YXRlOgorICAgIFBlcm1pc3Npb25TdGF0dXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFBlcm1p
c3Npb25TdGF0ZSwgUGVybWlzc2lvbkRlc2NyaXB0b3IpOworCisgICAgLy8gUGVybWlzc2lvbk9i
c2VydmVyCisgICAgdm9pZCBzdGF0ZUNoYW5nZWQoUGVybWlzc2lvblN0YXRlKSBmaW5hbDsKKyAg
ICBjb25zdCBDbGllbnRPcmlnaW4mIG9yaWdpbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fb3Jp
Z2luOyB9CisgICAgY29uc3QgUGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX2Rlc2NyaXB0b3I7IH0KKworICAgIC8vIEFjdGl2ZURPTU9iamVj
dAorICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKKyAg
ICBib29sIHZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBmaW5hbDsKKworICAgIC8v
IEV2ZW50VGFyZ2V0CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6c2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CisgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJ
bnRlcmZhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiBQZXJtaXNzaW9uU3RhdHVzRXZlbnRUYXJn
ZXRJbnRlcmZhY2VUeXBlOyB9CisgICAgdm9pZCByZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVm
KCk7IH0KKyAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KKyAg
ICB2b2lkIGRpc3BhdGNoRXZlbnQoRXZlbnQmKSBvdmVycmlkZTsKKyAgICB2b2lkIGV2ZW50TGlz
dGVuZXJzRGlkQ2hhbmdlKCkgb3ZlcnJpZGU7CisKKyAgICBQZXJtaXNzaW9uU3RhdGUgbV9zdGF0
ZTsKKyAgICBQZXJtaXNzaW9uRGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7CisgICAgQ2xpZW50T3Jp
Z2luIG1fb3JpZ2luOworICAgIFJlZlB0cjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gbV9jb250cm9s
bGVyOworICAgIGJvb2wgbV9oYXNQZW5kaW5nQWN0aXZpdHkgeyBmYWxzZSB9OworICAgIHN0ZDo6
YXRvbWljPGJvb2w+IG1faGFzUmVsZXZhbnRFdmVudExpc3RlbmVyOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGI3ODE0MmU2OTllMjBlNmJl
ODZjYzVjZTIwNTZkMWRlYjY5MmVkMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwKQEAgLTAsMCArMSwzNiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisgCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI3Bl
cm1pc3Npb25zdGF0dXMKKworWworICAgIEFjdGl2ZURPTU9iamVjdCwKKyAgICBFbmFibGVkQnlT
ZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpCitdIGlu
dGVyZmFjZSBQZXJtaXNzaW9uU3RhdHVzIDogRXZlbnRUYXJnZXQgeworICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBQZXJtaXNzaW9uU3RhdGUgc3RhdGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFBl
cm1pc3Npb25OYW1lIG5hbWU7CisgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmNoYW5nZTsK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bnMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJhZDM0Yzk0YWIzNDc3MmM3ZWI2NjY3MmRhMmMwODY2ZDE4Yjkz
ODgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25zLmNwcApAQCAtMCwwICsxLDk0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25zLmgiCisKKyNpbmNsdWRlICJFeGNlcHRp
b24uaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVk
LmgiCisjaW5jbHVkZSAiSlNQZXJtaXNzaW9uRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIkpTUGVy
bWlzc2lvblN0YXR1cy5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1ZGUgIlBhZ2Uu
aCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIlBlcm1pc3Np
b25EZXNjcmlwdG9yLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUGVybWlzc2lv
bnMpOworCitSZWY8UGVybWlzc2lvbnM+IFBlcm1pc3Npb25zOjpjcmVhdGUoTmF2aWdhdG9yJiBu
YXZpZ2F0b3IpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVybWlzc2lvbnMobmF2aWdh
dG9yKSk7Cit9CisKK1Blcm1pc3Npb25zOjpQZXJtaXNzaW9ucyhOYXZpZ2F0b3ImIG5hdmlnYXRv
cikKKyAgICA6IG1fbmF2aWdhdG9yKG1ha2VXZWFrUHRyKG5hdmlnYXRvcikpCit7CisgICAgaWYg
KGF1dG8gY29udGV4dCA9IG5hdmlnYXRvci5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCisgICAg
ICAgIG1fY29udHJvbGxlciA9IGNvbnRleHQtPnBlcm1pc3Npb25Db250cm9sbGVyKCk7Cit9CisK
K05hdmlnYXRvciogUGVybWlzc2lvbnM6Om5hdmlnYXRvcigpCit7CisgICAgcmV0dXJuIG1fbmF2
aWdhdG9yLmdldCgpOworfQorCit2b2lkIFBlcm1pc3Npb25zOjpxdWVyeShKU0M6OlN0cm9uZzxK
U0M6OkpTT2JqZWN0PiBwZXJtaXNzaW9uRGVzY3JpcHRvclZhbHVlLCBET01Qcm9taXNlRGVmZXJy
ZWQ8SURMSW50ZXJmYWNlPFBlcm1pc3Npb25TdGF0dXM+PiYmIHByb21pc2UpCit7CisgICAgLy8g
RklYTUU6IHN1cHBvcnQgcGVybWlzc2lvbnMgaW4gV29ya2VyTmF2aWdhdG9yLgorICAgIGlmICgh
bV9jb250cm9sbGVyKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IE5vdFN1
cHBvcnRlZEVycm9yIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byBjb250
ZXh0ID0gbV9uYXZpZ2F0b3IgPyBtX25hdmlnYXRvci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
IDogbnVsbHB0cjsKKyAgICBpZiAoIWNvbnRleHQgfHwgIWNvbnRleHQtPmdsb2JhbE9iamVjdCgp
KSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9y
LCAiVGhlIGNvbnRleHQgaXMgaW52YWxpZCIgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBpZiAoIXBlcm1pc3Npb25EZXNjcmlwdG9yVmFsdWUpIHsKKyAgICAgICAgcHJvbWlzZS5y
ZWplY3QoRXhjZXB0aW9uIHsgRGF0YUVycm9yLCAiVGhlIHBhcmFtZXRlciBpcyBpbnZhbGlkIl9z
IH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgSlNDOjpWTSYgdm0gPSBjb250ZXh0
LT5nbG9iYWxPYmplY3QoKS0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRSh2bSk7CisgICAgYXV0byBwYXJhbWV0ZXJEZXNjcmlwdG9yID0gY29udmVydDxJRExEaWN0
aW9uYXJ5PFBlcm1pc3Npb25EZXNjcmlwdG9yPj4oKmNvbnRleHQtPmdsb2JhbE9iamVjdCgpLCBw
ZXJtaXNzaW9uRGVzY3JpcHRvclZhbHVlLmdldCgpKTsKKyAgICBpZiAoVU5MSUtFTFkoc2NvcGUu
ZXhjZXB0aW9uKCkpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEV4aXN0
aW5nRXhjZXB0aW9uRXJyb3IgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRv
KiBvcmlnaW4gPSBjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpOworICAgIGF1dG8gb3JpZ2luRGF0
YSA9IG9yaWdpbiA/IG9yaWdpbi0+ZGF0YSgpIDogU2VjdXJpdHlPcmlnaW5EYXRhIHsgfTsKKyAg
ICBhdXRvIHBlcm1pc3Npb25TdGF0ZSA9IG1fY29udHJvbGxlci0+cXVlcnkoQ2xpZW50T3JpZ2lu
IHsgY29udGV4dC0+dG9wT3JpZ2luKCkuZGF0YSgpLCBvcmlnaW5EYXRhIH0sIFBlcm1pc3Npb25E
ZXNjcmlwdG9yIHsgcGFyYW1ldGVyRGVzY3JpcHRvciB9KTsKKyAgICBwcm9taXNlLnJlc29sdmUo
UGVybWlzc2lvblN0YXR1czo6Y3JlYXRlKCpjb250ZXh0LCBwZXJtaXNzaW9uU3RhdGUsIHBhcmFt
ZXRlckRlc2NyaXB0b3IpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdhMzhmZjM0OGZlNDY5M2YwMjA4NDk5MjFmNWRhOTQ2NDIxOGYxMDMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmgKQEAg
LTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiSURM
VHlwZXMuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJvbmcuaD4KKyNpbmNsdWRlIDx3
dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKworbmFtZXNwYWNlIEpT
QyB7CitjbGFzcyBKU09iamVjdDsKK30gLy8gbmFtZXNwYWNlIEpTQworCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIE5hdmlnYXRvcjsKK2NsYXNzIFBlcm1pc3Npb25Db250cm9sbGVyOwor
Y2xhc3MgUGVybWlzc2lvblN0YXR1czsKKwordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xh
c3MgRE9NUHJvbWlzZURlZmVycmVkOworCitjbGFzcyBQZXJtaXNzaW9ucyBmaW5hbCA6IHB1Ymxp
YyBSZWZDb3VudGVkPFBlcm1pc3Npb25zPiB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChQ
ZXJtaXNzaW9ucyk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJtaXNzaW9ucz4gY3JlYXRl
KE5hdmlnYXRvciYpOworCisgICAgTmF2aWdhdG9yKiBuYXZpZ2F0b3IoKTsKKyAgICB2b2lkIHF1
ZXJ5KEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50
ZXJmYWNlPFBlcm1pc3Npb25TdGF0dXM+PiYmKTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBQ
ZXJtaXNzaW9ucyhOYXZpZ2F0b3ImKTsKKworICAgIFdlYWtQdHI8TmF2aWdhdG9yPiBtX25hdmln
YXRvcjsKKyAgICBSZWZQdHI8UGVybWlzc2lvbkNvbnRyb2xsZXI+IG1fY29udHJvbGxlcjsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY4YWE2MTJhNTA3YjM4
MDU0MGE2NzBiZTY0NWFiNjZlZjQzODFkZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCkBAIC0wLDAgKzEsMzUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI3Blcm1p
c3Npb25zLWludGVyZmFjZQorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQ
SSwKKyAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPVJlYWNoYWJsZUZyb21OYXZpZ2F0b3IsCisgICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKQor
XSBpbnRlcmZhY2UgUGVybWlzc2lvbnMgeworICAgIFByb21pc2U8UGVybWlzc2lvblN0YXR1cz4g
cXVlcnkob2JqZWN0IHBlcm1pc3Npb25EZXNjKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDZkNTlk
YzNmZDg3ODRhYzM1NzYwYWRkZjVkOTIwNThkMjU4NGQwN2IuLjg5MTA1NDk3MzE5YTZiMDRlMThm
ZTUyZTQ1MWVkNGVlOWE0ZjE1MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yMDMsNiArMjAzLDkgQEAg
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKIE1vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKIE1vZHVsZXMvcGF5bWVudHJl
cXVlc3QvUGF5bWVudFJlcXVlc3RVdGlsaXRpZXMuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0
L1BheW1lbnRSZXNwb25zZS5jcHAKK01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlz
c2lvbnMuY3BwCitNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuY3BwCitNb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJl
L0RvY3VtZW50UGljdHVyZUluUGljdHVyZS5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9F
bnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9I
VE1MVmlkZW9FbGVtZW50UGljdHVyZUluUGljdHVyZS5jcHAKQEAgLTMyNzIsNiArMzI3NSwxMSBA
QCBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcAogSlNQZXJpb2RpY1dhdmUuY3BwCiBKU1BlcmlvZGlj
V2F2ZUNvbnN0cmFpbnRzLmNwcAogSlNQZXJpb2RpY1dhdmVPcHRpb25zLmNwcAorSlNQZXJtaXNz
aW9uRGVzY3JpcHRvci5jcHAKK0pTUGVybWlzc2lvbk5hbWUuY3BwCitKU1Blcm1pc3Npb25TdGF0
ZS5jcHAKK0pTUGVybWlzc2lvblN0YXR1cy5jcHAKK0pTUGVybWlzc2lvbnMuY3BwCiBKU1BpY3R1
cmVJblBpY3R1cmVXaW5kb3cuY3BwCiBKU1BsYXliYWNrRGlyZWN0aW9uLmNwcAogSlNQb2ludGVy
RXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggZDBhYTBlOGQyYjliOTEwNzNiOTgzYTY4Y2Y1OWY3ZTY2YTJhNTM3NS4u
MzZhZGVlZDQ5ZDEwZjg3YTYxODFkODMyODNlYjg3NjQ4NDhhZGRkZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjg4MCw2ICsy
ODgwLDE0IEBACiAJCTkzQTgwNjE3MUUwM0I1MUMwMDhBMUYyNiAvKiBMb25nUmFuZ2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTgwNjEzMUUwM0I1
MUMwMDhBMUYyNiAvKiBMb25nUmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk5M0E4MDYxRTFFMDNCNTg1MDA4QTFGMjYgLyogSlNEb3VibGVS
YW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNB
ODA2MUExRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCAqLzsgfTsKIAkJOTNBODA2
MjAxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9uZ1JhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4MDYxQzFFMDNCNTg1MDA4QTFGMjYgLyogSlNM
b25nUmFuZ2UuaCAqLzsgfTsKKwkJOTNCMEE2NTMyNkNERDE0MTAwQUEyMUU0IC8qIE5hdmlnYXRv
clBlcm1pc3Npb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5M0IwQTY0QTI2Q0REMTNFMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCAq
LzsgfTsKKwkJOTNCMEE2NTQyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY0QjI2Q0REMTNF
MDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCAqLzsgfTsKKwkJOTNCMEE2NTYyNkNERDE0MTAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzQjBBNjREMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3Rh
dHVzLmggKi87IH07CisJCTkzQjBBNjU3MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVz
Y3JpcHRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTNCMEE2NEUyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNCMEE2NTkyNkNE
RDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY1MDI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlz
c2lvbk5hbWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk5M0IwQTY1QjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY1MjI2Q0REMTQx
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNCMEE2NzAyNkQ0QjUzOTAwQUEyMUU0IC8qIFBlcm1p
c3Npb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5M0IwQTY2OTI2RDQ0QjdGMDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5M0Iw
QTY3QTI2RDZBNEU5MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY2RjI2RDRCNTI5MDBBQTIx
RTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNCMkQ4MTYwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRl
cm1pbmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5M0IyRDgxNTBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0IzOEVDMzI1ODIx
REI0MDAxOThFNjMgLyogV2ViU3BlZWNoUmVjb2duaXplclRhc2suaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjM4RUJBMjU4MjE5M0IwMDE5OEU2MyAv
KiBXZWJTcGVlY2hSZWNvZ25pemVyVGFzay5oICovOyB9OwogCQk5M0IzOEVDNDI1ODIxREI3MDAx
OThFNjMgLyogV2ViU3BlZWNoUmVjb2duaXplclRhc2tNb2NrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IzOEVCQjI1ODIxOTNEMDAxOThFNjMgLyog
V2ViU3BlZWNoUmVjb2duaXplclRhc2tNb2NrLmggKi87IH07CkBAIC0xMTcwMSw2ICsxMTcwOSwy
MyBAQAogCQk5M0E4MDYxQTFFMDNCNTg1MDA4QTFGMjYgLyogSlNEb3VibGVSYW5nZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RvdWJsZVJhbmdlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTkzQTgwNjFCMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5n
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0xvbmdSYW5nZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQTgwNjFDMUUwM0I1ODUwMDhBMUYy
NiAvKiBKU0xvbmdSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0xv
bmdSYW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0NDI2Q0RDNUI2
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQ
ZXJtaXNzaW9uU3RhdGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0
NTI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTNCMEE2NDYyNkNEQzVCNzAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9uTmFtZS5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ3MjZDREM1QjcwMEFBMjFFNCAvKiBOYXZpZ2F0b3Ir
UGVybWlzc2lvbnMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJOYXZpZ2F0b3IrUGVybWlz
c2lvbnMuaWRsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDgyNkNEQzVC
NzAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJt
aXNzaW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ5MjZDREM1
QjgwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBQZXJtaXNzaW9uU3RhdHVzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNC
MEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRvclBlcm1pc3Npb25zLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRCMjZDREQxM0UwMEFBMjFFNCAvKiBQZXJtaXNz
aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9ucy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0QzI2Q0REMTNFMDBBQTIxRTQgLyog
TmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk5M0IwQTY0RDI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uU3RhdHVzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNz
aW9uRGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0RjI2
Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBQZXJtaXNzaW9uU3RhdHVzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NTAyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1l
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25OYW1lLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjUxMjZDREQxNDAwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJt
aXNzaW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjUyMjZDREQx
NDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGVybWlzc2lvblN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTkzQjBBNjY5MjZENDRCN0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQZXJtaXNzaW9uQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk5M0IwQTY2RjI2RDRCNTI5MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25PYnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5M0IyRDgxNTBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3VkZGVuVGVybWluYXRpb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMkQ4MTcwRjk5MjBFRTAwNkFFNkIyIC8q
IFN1ZGRlblRlcm1pbmF0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gU3VkZGVuVGVybWluYXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTkzQjM4RUI4MjU4MjE4OTkwMDE5OEU2MyAvKiBTcGVlY2hSZWNvZ25pemVyQ29jb2EubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTcGVlY2hSZWNvZ25pemVyQ29j
b2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzE4NSw2ICsyMzIxMCwzMCBA
QAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTkz
QjBBNjQyMjZDREM1NzQwMEFBMjFFNCAvKiBwZXJtaXNzaW9ucyAqLyA9IHsKKwkJCWlzYSA9IFBC
WEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJOTNCMEE2NDcyNkNEQzVCNzAwQUEyMUU0IC8q
IE5hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgKi8sCisJCQkJOTNCMEE2NEMyNkNERDEzRTAwQUEy
MUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcCAqLywKKwkJCQk5M0IwQTY0QTI2Q0REMTNF
MDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCAqLywKKwkJCQk5M0IwQTY2OTI2RDQ0
QjdGMDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLywKKwkJCQk5M0IwQTY0RTI2
Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCAqLywKKwkJCQk5M0IwQTY0
NTI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsICovLAorCQkJCTkz
QjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oICovLAorCQkJCTkzQjBB
NjQ2MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5pZGwgKi8sCisJCQkJOTNCMEE2
NkYyNkQ0QjUyOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oICovLAorCQkJCTkzQjBB
NjUxMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5jcHAgKi8sCisJCQkJOTNCMEE2NEIy
NkNERDEzRTAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmggKi8sCisJCQkJOTNCMEE2NDgyNkNEQzVC
NzAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmlkbCAqLywKKwkJCQk5M0IwQTY1MjI2Q0REMTQxMDBB
QTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggKi8sCisJCQkJOTNCMEE2NDQyNkNEQzVCNjAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5pZGwgKi8sCisJCQkJOTNCMEE2NEYyNkNERDE0MDAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuY3BwICovLAorCQkJCTkzQjBBNjREMjZDREQxM0YwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggKi8sCisJCQkJOTNCMEE2NDkyNkNEQzVCODAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaWRsICovLAorCQkJKTsKKwkJCXBhdGggPSBwZXJtaXNz
aW9uczsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTkzQjM4RUI2MjU4MjE4
MzMwMDE5OEU2MyAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCkBAIC0yMzc5MCw2ICsyMzgzOSw3IEBACiAJCQkJNzFENkFBMzkxREE0RUFGNzAwQjIz
OTY5IC8qIG1vZGVybi1tZWRpYS1jb250cm9scyAqLywKIAkJCQkzMzNGNzAzRDBGQjQ5QzE2MDA4
RTEyQTYgLyogbm90aWZpY2F0aW9ucyAqLywKIAkJCQlBMUY3NkIwRTFGNDRDMENGMDAxNEMzMTgg
LyogcGF5bWVudHJlcXVlc3QgKi8sCisJCQkJOTNCMEE2NDIyNkNEQzU3NDAwQUEyMUU0IC8qIHBl
cm1pc3Npb25zICovLAogCQkJCTFERUYwNkEyMjMzQzMyREIwMEVFMjI4RCAvKiBwaWN0dXJlaW5w
aWN0dXJlICovLAogCQkJCTA3MkFFMURFMTgzQzA1MTMwMDBBNTk4OCAvKiBwbHVnaW5zICovLAog
CQkJCUNEQzMxMkUwMjJGQ0QwQjAwMDEyMDRFQyAvKiByZW1vdGVwbGF5YmFjayAqLywKQEAgLTMz
NzU3LDYgKzMzODA3LDcgQEAKIAkJCQk2QjUwN0EyNDIzNEJGMzQxMDBCRTdDNjIgLyogTmF2aWdh
dG9ySXNMb2dnZWRJbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUVBNzI1RDYxQUNBQkQ1NzAwRUFE
MTdCIC8qIE5hdmlnYXRvck1lZGlhRGV2aWNlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc3QkE1
NzIyNjBGQTAxNDAwNzJGMTlGIC8qIE5hdmlnYXRvck1lZGlhU2Vzc2lvbi5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJOTNCMEE2NTMyNkNERDE0MTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25z
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTZFNTlERjFERjAxMjhEMDA2NjEyQjkgLyogTmF2aWdh
dG9yV2ViRHJpdmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI3ODI0MTMxOTFGMDBFNzk0
RDYgLyogTmF2aWdhdG9yV2ViWFIuaCBpbiBIZWFkZXJzICovLAogCQkJCThBMzA5QzlGMTIzOTUw
QkUwMENCOTIwNCAvKiBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oIGluIEhlYWRlcnMgKi8sCkBA
IC0zMzk1Niw2ICszNDAwNywxMyBAQAogCQkJCUZENTgxRkI1MTUyMEY5M0IwMDNBN0E3NSAvKiBQ
ZXJpb2RpY1dhdmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUU3NTVFODkyMjRDNzQzNEIwMDlGN0My
MyAvKiBQZXJpb2RpY1dhdmVDb25zdHJhaW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTc1NUU4
OTkyNEM3NDYxRDAwOUY3QzIzIC8qIFBlcmlvZGljV2F2ZU9wdGlvbnMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTkzQjBBNjcwMjZENEI1MzkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTcyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Np
b25EZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1OTI2Q0REMTQxMDBBQTIx
RTQgLyogUGVybWlzc2lvbk5hbWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjdBMjZENkE0
RTkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTkz
QjBBNjU0MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJOTNCMEE2NUIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJOTNCMEE2NTYyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RDVEQzJFMEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVj
dGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMURCQzFCNTYyMzQ3
QjNEMjAwQjkwMUFGIC8qIFBpY3R1cmVJblBpY3R1cmVPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMUQyQzgyQjcyMzZBM0Y2QTAwNTVENkM1IC8qIFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0
LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaAppbmRleCBmMTgxYzc5NmQ2NTBjYzg2ZmUzZjA4YTcyMDA3YTZlZGMy
ZWZiYzc4Li44NTFhMjE0YzlhNDg3ZmY2OGQxNmJlN2RkOGZiYjUyMDg4N2ViOTFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0x
NTQsNiArMTU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKE1vY2tSVENSdHBU
cmFuc2Zvcm0pIFwKICAgICBtYWNybyhOYXZpZ2F0b3JDcmVkZW50aWFscykgXAogICAgIG1hY3Jv
KE5hdmlnYXRvck1lZGlhRGV2aWNlcykgXAorICAgIG1hY3JvKE5hdmlnYXRvclBlcm1pc3Npb25z
KSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yVXNlck1lZGlhKSBcCiAgICAgbWFjcm8oT2ZmbGluZUF1
ZGlvQ29udGV4dCkgXAogICAgIG1hY3JvKE9mZnNjcmVlbkNhbnZhcykgXApAQCAtMTgyLDYgKzE4
Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhQZXJmb3JtYW5jZVBhaW50VGlt
aW5nKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZykgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlU2VydmVyVGltaW5nKSBcCisgICAgbWFjcm8oUGVybWlzc2lvbkRlc2NyaXB0
b3IpIFwKKyAgICBtYWNybyhQZXJtaXNzaW9uU3RhdHVzKSBcCisgICAgbWFjcm8oUGVybWlzc2lv
bnMpIFwKICAgICBtYWNybyhQb2ludGVyRXZlbnQpIFwKICAgICBtYWNybyhQdWJsaWNLZXlDcmVk
ZW50aWFsKSBcCiAgICAgbWFjcm8oUmVzaXplT2JzZXJ2ZXIpIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCmluZGV4IDY1Y2ZiZjhiNzk1ZDYzZDNjOTk5ZDAxZDliMzg0YjIwNTAwOWQ0NjQuLjQ1NDE1
NmFjOWVmYTc1MjIyNWNjYjFhOWM0ZGYzNmQxYjc1ZDM5OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtMzU1NCw2ICszNTU0LDExIEBAIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5
KiBEb2N1bWVudDo6aWRiQ29ubmVjdGlvblByb3h5KCkKICAgICByZXR1cm4gbV9pZGJDb25uZWN0
aW9uUHJveHkuZ2V0KCk7CiB9CiAKK1JlZlB0cjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gRG9jdW1l
bnQ6OnBlcm1pc3Npb25Db250cm9sbGVyKCkKK3sKKyAgICByZXR1cm4gcGFnZSgpID8gJnBhZ2Uo
KS0+cGVybWlzc2lvbkNvbnRyb2xsZXIoKSA6IG51bGxwdHI7Cit9CisKIFNvY2tldFByb3ZpZGVy
KiBEb2N1bWVudDo6c29ja2V0UHJvdmlkZXIoKQogewogICAgIHJldHVybiBtX3NvY2tldFByb3Zp
ZGVyLmdldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA0YzI5NWQ0NThmMWFlMDYxNzlhNTQ2
Yjk0ZGIzODA3NzI2NTRjMWM1Li4zZDQ2NWIzYzQ4YjIxMjI4ZTZkYWExOGE3OTJkMmQzMzRmOGUx
OTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNzAxLDYgKzcwMSw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGRpc2FibGVXZWJBc3NlbWJseShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkgZmlu
YWw7CiAKICAgICBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogaWRiQ29ubmVjdGlvblBy
b3h5KCkgZmluYWw7CisgICAgUmVmUHRyPFBlcm1pc3Npb25Db250cm9sbGVyPiBwZXJtaXNzaW9u
Q29udHJvbGxlcigpIGZpbmFsOwogICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcigp
IGZpbmFsOwogICAgIFJlZlB0cjxSVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9u
PiBjcmVhdGVSVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uKCkgZmluYWw7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4gYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCmluZGV4IDVlNThmMTExNjY3
ZWY2MjEwZDUzMTEwZDdiNTRhODAyYzg0Mzk1ZDguLjAxM2NlZDA5NDZmZmNkNTI1OWZhMjUwYjE2
MDNhMThlNDU5ZTQ1OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dEZhY3RvcnkuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5p
bgpAQCAtMzUsNiArMzUsNyBAQCBPZmZzY3JlZW5DYW52YXMgY29uZGl0aW9uYWw9T0ZGU0NSRUVO
X0NBTlZBUwogUGF5bWVudFJlcXVlc3QgY29uZGl0aW9uYWw9UEFZTUVOVF9SRVFVRVNUCiBQYXlt
ZW50UmVzcG9uc2UgY29uZGl0aW9uYWw9UEFZTUVOVF9SRVFVRVNUCiBQZXJmb3JtYW5jZQorUGVy
bWlzc2lvblN0YXR1cwogUGljdHVyZUluUGljdHVyZVdpbmRvdyBjb25kaXRpb25hbD1QSUNUVVJF
X0lOX1BJQ1RVUkVfQVBJCiBSZW1vdGVQbGF5YmFjayBjb25kaXRpb25hbD1XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQKIFJUQ0RhdGFDaGFubmVsIGNvbmRpdGlvbmFsPVdFQl9SVEMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGQ0YmI4ZTE5YWU3OGY3
ZTgxYTZjYjYxZmI2ZTU1MjNjMTA0YzRkZGUuLjFlY2JjMTM3OWI5YTVhNjg3Njg1NjJkZTgwNmE2
M2I2ZDVmYzAxZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAj
aW5jbHVkZSAiRE9NVGltZXIuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgog
I2luY2x1ZGUgIlJUQ0RhdGFDaGFubmVsUmVtb3RlSGFuZGxlckNvbm5lY3Rpb24uaCIKICNpbmNs
dWRlICJSZXNvdXJjZUxvYWRlck9wdGlvbnMuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllci5oIgpAQCAtMTE1LDYgKzExNiw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgZGlzYWJsZVdlYkFzc2VtYmx5KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKSA9
IDA7CiAKICAgICB2aXJ0dWFsIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBpZGJDb25u
ZWN0aW9uUHJveHkoKSA9IDA7CisgICAgdmlydHVhbCBSZWZQdHI8UGVybWlzc2lvbkNvbnRyb2xs
ZXI+IHBlcm1pc3Npb25Db250cm9sbGVyKCkgeyByZXR1cm4gbnVsbHB0cjsgfQogCiAgICAgdmly
dHVhbCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIoKSA9IDA7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9UYXNrU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGFz
a1NvdXJjZS5oCmluZGV4IDcxMzNmNjc4ZWEyZDk5MjY5NTE2MDIwODY0ZWYxM2Q0ZjNlZmQzOTgu
LjJkYTQ3YmFkNmM3M2E2YmE1YmYyODNiOGQzNTJmNDBkMjFhZjAxNGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9UYXNrU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Rh
c2tTb3VyY2UuaApAQCAtMzksNiArMzksNyBAQCBlbnVtIGNsYXNzIFRhc2tTb3VyY2UgOiB1aW50
OF90IHsKICAgICBNaWNyb3Rhc2ssCiAgICAgTmV0d29ya2luZywKICAgICBQZXJmb3JtYW5jZVRp
bWVsaW5lLAorICAgIFBlcm1pc3Npb24sCiAgICAgUG9zdGVkTWVzc2FnZVF1ZXVlLAogICAgIFNw
ZWVjaCwKICAgICBVc2VySW50ZXJhY3Rpb24sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVu
dHMuY3BwCmluZGV4IDk2NGUyZGQxMjA3MDMzMWE2NWNhMzQxYWM3MGU0YjI4NzQyMDBhMGQuLjU1
Y2M0NmUyNTkxODQ2OWYzMWQ1NmMwNDk2ZTQzZGQ1NWVjZmQ1ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC02Myw2ICs2Myw3IEBACiAjaW5jbHVkZSAiUGFnZS5o
IgogI2luY2x1ZGUgIlBhZ2VDb25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAiUGF5bWVudENvb3Jk
aW5hdG9yQ2xpZW50LmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJQbHVnaW5JbmZvUHJvdmlkZXIuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXJDbGll
bnQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbkRhdGEuaCIKQEAgLTExOTMsNyArMTE5NCw4
IEBAIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uV2l0aEVtcHR5Q2xpZW50cyhQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8RW1wdHlGcmFt
ZUxvYWRlckNsaWVudD4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1teVNwZWVjaFJlY29n
bml0aW9uUHJvdmlkZXI+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8RW1wdHlNZWRpYVJlY29y
ZGVyUHJvdmlkZXI+KCksCi0gICAgICAgIEVtcHR5QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5Ojpj
cmVhdGUoKQorICAgICAgICBFbXB0eUJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Y3JlYXRlKCks
CisgICAgICAgIG1ha2VVbmlxdWVSZWY8RHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlcj4oKQogICAg
IH07CiAKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RW1wdHlDaHJvbWVDbGllbnQ+IGR1bW15
Q2hyb21lQ2xpZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggZWVlNjhiNzdlMWU1ZmNlMWU1OWMz
Mjk0MzRhOWE4NjAwYjM2OTcxMC4uODYxMDc4YmEwYmY2MTgzYjc3MTE0NWE3NGI0MWJlMDdkN2Iw
NTYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC05OSw2ICs5OSw3IEBACiAjaW5jbHVkZSAiUGVy
Zm9ybWFuY2VMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50Lmgi
CiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VNb25pdG9yLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNp
bmNsdWRlICJQbGF0Zm9ybVNjcmVlbi5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5o
IgpAQCAtMzI1LDYgKzMyNiw3IEBAIFBhZ2U6OlBhZ2UoUGFnZUNvbmZpZ3VyYXRpb24mJiBwYWdl
Q29uZmlndXJhdGlvbikKICAgICAsIG1fbG9hZHNTdWJyZXNvdXJjZXMocGFnZUNvbmZpZ3VyYXRp
b24ubG9hZHNTdWJyZXNvdXJjZXMpCiAgICAgLCBtX3Nob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tp
ZUJsb2NraW5nKHBhZ2VDb25maWd1cmF0aW9uLnNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJs
b2NraW5nKQogICAgICwgbV9odHRwc1VwZ3JhZGVFbmFibGVkKHBhZ2VDb25maWd1cmF0aW9uLmh0
dHBzVXBncmFkZUVuYWJsZWQpCisgICAgLCBtX3Blcm1pc3Npb25Db250cm9sbGVyKFdURk1vdmUo
cGFnZUNvbmZpZ3VyYXRpb24ucGVybWlzc2lvbkNvbnRyb2xsZXIpKQogewogICAgIHVwZGF0ZVRp
bWVyVGhyb3R0bGluZ1N0YXRlKCk7CiAKQEAgLTM2OTMsNCArMzY5NSw5IEBAIHZvaWQgUGFnZTo6
cmVzZXRUZXh0UmVjb2duaXRpb25SZXN1bHRzKCkKIAogI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9B
TkFMWVNJUykKIAorUGVybWlzc2lvbkNvbnRyb2xsZXImIFBhZ2U6OnBlcm1pc3Npb25Db250cm9s
bGVyKCkKK3sKKyAgICByZXR1cm4gbV9wZXJtaXNzaW9uQ29udHJvbGxlci5nZXQoKTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA5MjU1YmYzMTNjNjdkNzE0
ODE1Y2Y3ODE1MjY2ZmZkODA1YjIyZjYwLi4zYjFlMjY5MDU1NmRkNGYzZDE3YThlYjg1ZjI0ZDAw
NDA4ODc0Mzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMTMxLDYgKzEzMSw3IEBAIGNsYXNzIFBheW1l
bnRDb29yZGluYXRvcjsKIGNsYXNzIFBlcmZvcm1hbmNlTG9nZ2luZzsKIGNsYXNzIFBlcmZvcm1h
bmNlTG9nZ2luZ0NsaWVudDsKIGNsYXNzIFBlcmZvcm1hbmNlTW9uaXRvcjsKK2NsYXNzIFBlcm1p
c3Npb25Db250cm9sbGVyOwogY2xhc3MgUGx1Z2luRGF0YTsKIGNsYXNzIFBsdWdpbkluZm9Qcm92
aWRlcjsKIGNsYXNzIFBsdWdpblZpZXdCYXNlOwpAQCAtODcyLDYgKzg3Myw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGNhY2hlVGV4dFJlY29nbml0aW9uUmVzdWx0KGNvbnN0IEhUTUxFbGVtZW50Jiwg
Y29uc3QgSW50UmVjdCYgY29udGFpbmVyUmVjdCwgY29uc3QgVGV4dFJlY29nbml0aW9uUmVzdWx0
Jik7CiAjZW5kaWYKIAorICAgIFdFQkNPUkVfRVhQT1JUIFBlcm1pc3Npb25Db250cm9sbGVyJiBw
ZXJtaXNzaW9uQ29udHJvbGxlcigpOworCiBwcml2YXRlOgogICAgIHN0cnVjdCBOYXZpZ2F0aW9u
IHsKICAgICAgICAgUmVnaXN0cmFibGVEb21haW4gZG9tYWluOwpAQCAtMTE5NCw2ICsxMTk3LDgg
QEAgcHJpdmF0ZToKICAgICBjb25zdCBib29sIG1faHR0cHNVcGdyYWRlRW5hYmxlZCB7IHRydWUg
fTsKICAgICBtdXRhYmxlIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtX21lZGlhU2Vzc2lv
bkdyb3VwSWRlbnRpZmllcjsKIAorICAgIFVuaXF1ZVJlZjxQZXJtaXNzaW9uQ29udHJvbGxlcj4g
bV9wZXJtaXNzaW9uQ29udHJvbGxlcjsKKwogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKICAg
ICAvLyBGSVhNRTogVGhlc2Ugc2hvdWxkIGJlIHJlZmFjdG9yZWQgdG8gdXNlIGEgd2VhayBoYXNo
IG1hcCBvZiBIVE1MRWxlbWVudCB0byBzdGQ6OnBhaXI8VGV4dFJlY29nbml0aW9uUmVzdWx0LCBJ
bnRTaXplPi4KICAgICBWZWN0b3I8c3RkOjpwYWlyPFdlYWtQdHI8SFRNTEVsZW1lbnQ+LCBzdGQ6
OnBhaXI8VGV4dFJlY29nbml0aW9uUmVzdWx0LCBJbnRSZWN0Pj4+IG1fdGV4dFJlY29nbml0aW9u
UmVzdWx0c0J5RWxlbWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5j
cHAKaW5kZXggNjc1ZTM2OWNjMWUyYzJiNzdkOTlmZGQwOTEzNGIxOThmMGNmM2FmMy4uY2I1NjBm
ZDQxNGEyM2E3NmIyY2M3YjYwZWE1MDI5OTlhOTgxY2M5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKQEAgLTU5LDcgKzU5LDcgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1QYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpTZXNz
aW9uSUQgc2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRvckNsaWVudCwg
UmVmPFNvY2tldFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyLCBVbmlxdWVSZWY8TGliV2ViUlRD
UHJvdmlkZXI+JiYgbGliV2ViUlRDUHJvdmlkZXIsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4m
JiBjYWNoZVN0b3JhZ2VQcm92aWRlciwgUmVmPFVzZXJDb250ZW50UHJvdmlkZXI+JiYgdXNlckNv
bnRlbnRQcm92aWRlciwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmIGJhY2tGb3J3YXJkQ2xpZW50
LCBSZWY8Q29va2llSmFyPiYmIGNvb2tpZUphciwgVW5pcXVlUmVmPFByb2dyZXNzVHJhY2tlckNs
aWVudD4mJiBwcm9ncmVzc1RyYWNrZXJDbGllbnQsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNsaWVu
dD4mJiBsb2FkZXJDbGllbnRGb3JNYWluRnJhbWUsIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlv
blByb3ZpZGVyPiYmIHNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXIsIFVuaXF1ZVJlZjxNZWRpYVJl
Y29yZGVyUHJvdmlkZXI+JiYgbWVkaWFSZWNvcmRlclByb3ZpZGVyLCBSZWY8QnJvYWRjYXN0Q2hh
bm5lbFJlZ2lzdHJ5PiYmIGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSkKK1BhZ2VDb25maWd1cmF0
aW9uOjpQYWdlQ29uZmlndXJhdGlvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVuaXF1ZVJl
ZjxFZGl0b3JDbGllbnQ+JiYgZWRpdG9yQ2xpZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29j
a2V0UHJvdmlkZXIsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92
aWRlciwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmIGNhY2hlU3RvcmFnZVByb3ZpZGVyLCBS
ZWY8VXNlckNvbnRlbnRQcm92aWRlcj4mJiB1c2VyQ29udGVudFByb3ZpZGVyLCBSZWY8QmFja0Zv
cndhcmRDbGllbnQ+JiYgYmFja0ZvcndhcmRDbGllbnQsIFJlZjxDb29raWVKYXI+JiYgY29va2ll
SmFyLCBVbmlxdWVSZWY8UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmIHByb2dyZXNzVHJhY2tlckNs
aWVudCwgVW5pcXVlUmVmPEZyYW1lTG9hZGVyQ2xpZW50PiYmIGxvYWRlckNsaWVudEZvck1haW5G
cmFtZSwgVW5pcXVlUmVmPFNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+JiYgc3BlZWNoUmVjb2du
aXRpb25Qcm92aWRlciwgVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4mJiBtZWRpYVJl
Y29yZGVyUHJvdmlkZXIsIFJlZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYgYnJvYWRjYXN0
Q2hhbm5lbFJlZ2lzdHJ5LCBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+JiYgcGVybWlz
c2lvbkNvbnRyb2xsZXIpCiAgICAgOiBzZXNzaW9uSUQoc2Vzc2lvbklEKQogICAgICwgZWRpdG9y
Q2xpZW50KFdURk1vdmUoZWRpdG9yQ2xpZW50KSkKICAgICAsIHNvY2tldFByb3ZpZGVyKFdURk1v
dmUoc29ja2V0UHJvdmlkZXIpKQpAQCAtNzMsNiArNzMsNyBAQCBQYWdlQ29uZmlndXJhdGlvbjo6
UGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVbmlxdWVSZWY8RWRp
dG9yQwogICAgICwgYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KFdURk1vdmUoYnJvYWRjYXN0Q2hh
bm5lbFJlZ2lzdHJ5KSkKICAgICAsIHNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXIoV1RGTW92ZShz
cGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyKSkKICAgICAsIG1lZGlhUmVjb3JkZXJQcm92aWRlcihX
VEZNb3ZlKG1lZGlhUmVjb3JkZXJQcm92aWRlcikpCisgICAgLCBwZXJtaXNzaW9uQ29udHJvbGxl
cihXVEZNb3ZlKHBlcm1pc3Npb25Db250cm9sbGVyKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlQ29uZmlndXJhdGlvbi5oCmluZGV4IDBmMjU5ZDU2ZDNhMTQyYTE0ZTBlYzg1MTRlMGZk
NWIyZmQyOTMwYTUuLmQ3NWI3MTA0YzM1MDM5MWY1OGE5NjhmYWUyZTZlMDM1NDYxMTZhY2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAg
Y2xhc3MgTGliV2ViUlRDUHJvdmlkZXI7CiBjbGFzcyBNZWRpYVJlY29yZGVyUHJvdmlkZXI7CiBj
bGFzcyBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ7CiBjbGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmdD
bGllbnQ7CitjbGFzcyBQZXJtaXNzaW9uQ29udHJvbGxlcjsKIGNsYXNzIFBsdWdpbkluZm9Qcm92
aWRlcjsKIGNsYXNzIFByb2dyZXNzVHJhY2tlckNsaWVudDsKIGNsYXNzIFNvY2tldFByb3ZpZGVy
OwpAQCAtNzQsNyArNzUsNyBAQCBjbGFzcyBTcGVlY2hTeW50aGVzaXNDbGllbnQ7CiBjbGFzcyBQ
YWdlQ29uZmlndXJhdGlvbiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNvbmZpZ3Vy
YXRpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VY
UE9SVCBQYWdlQ29uZmlndXJhdGlvbihQQUw6OlNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckNs
aWVudD4mJiwgUmVmPFNvY2tldFByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlk
ZXI+JiYsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4mJiwgUmVmPFVzZXJDb250ZW50UHJvdmlk
ZXI+JiYsIFJlZjxCYWNrRm9yd2FyZENsaWVudD4mJiwgUmVmPENvb2tpZUphcj4mJiwgVW5pcXVl
UmVmPFByb2dyZXNzVHJhY2tlckNsaWVudD4mJiwgVW5pcXVlUmVmPEZyYW1lTG9hZGVyQ2xpZW50
PiYmLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4mJiwgVW5pcXVlUmVmPE1l
ZGlhUmVjb3JkZXJQcm92aWRlcj4mJiwgUmVmPEJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4mJik7
CisgICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpTZXNzaW9uSUQsIFVu
aXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVm
PExpYldlYlJUQ1Byb3ZpZGVyPiYmLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYsIFJlZjxV
c2VyQ29udGVudFByb3ZpZGVyPiYmLCBSZWY8QmFja0ZvcndhcmRDbGllbnQ+JiYsIFJlZjxDb29r
aWVKYXI+JiYsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYsIFVuaXF1ZVJlZjxG
cmFtZUxvYWRlckNsaWVudD4mJiwgVW5pcXVlUmVmPFNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+
JiYsIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYsIFJlZjxCcm9hZGNhc3RDaGFu
bmVsUmVnaXN0cnk+JiYsIFVuaXF1ZVJlZjxQZXJtaXNzaW9uQ29udHJvbGxlcj4mJik7CiAgICAg
V0VCQ09SRV9FWFBPUlQgflBhZ2VDb25maWd1cmF0aW9uKCk7CiAgICAgUGFnZUNvbmZpZ3VyYXRp
b24oUGFnZUNvbmZpZ3VyYXRpb24mJik7CiAKQEAgLTEzOCw2ICsxMzksOCBAQCBwdWJsaWM6CiAg
ICAgYm9vbCB1c2VyU2NyaXB0c1Nob3VsZFdhaXRVbnRpbE5vdGlmaWNhdGlvbiB7IHRydWUgfTsK
ICAgICBTaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZyBzaG91bGRSZWxheFRoaXJk
UGFydHlDb29raWVCbG9ja2luZyB7IFNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5n
OjpObyB9OwogICAgIGJvb2wgaHR0cHNVcGdyYWRlRW5hYmxlZCB7IHRydWUgfTsKKworICAgIFVu
aXF1ZVJlZjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gcGVybWlzc2lvbkNvbnRyb2xsZXI7CiB9Owog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktp
dC9Tb3VyY2VzLnR4dAppbmRleCA2NmFlZGE0M2M4MmQ4YmZiMzM1YmJmZWY2MDk1ZDA0ZWZhZGI4
NjIwLi5hNzQ1ZDcyMDE1Y2ZjMTk1ZmI5NmYyY2M1NTg1OGE4MzFiNzUwZWE4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50
eHQKQEAgLTY5NCw2ICs2OTQsNyBAQCBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk1lZGlh
S2V5U3lzdGVtQ2xpZW50LmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJNZXNzYWdl
UG9ydENoYW5uZWxQcm92aWRlci5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90
aWZpY2F0aW9uQ2xpZW50LmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJmb3Jt
YW5jZUxvZ2dpbmdDbGllbnQuY3BwCitXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1p
c3Npb25Db250cm9sbGVyLmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5j
cHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNWZiMzA4OTUw
MTU2MjQ4NjY2MTUzYzYyNGY0MDM0ZWE0YTg4NGZkZi4uOWE4Mjk2Yjk4ZDViYjBkYjYzYTc4MGYx
NWJmMzQyMzNlN2U0M2MxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCkBAIC0xNzIsNiArMTcyLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0
cnkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU3RyZWFtUmVxdWVzdC5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Q
ZXJtaXNzaW9uU3RhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtRXZlbnQuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1ByaXZhdGVDbGlja01lYXN1cmVtZW50Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9QdWJsaWNTdWZmaXguaD4KQEAgLTg0OTMsNiArODQ5NCwxMiBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6cmV2b2tlR2VvbG9jYXRpb25BdXRob3JpemF0aW9uVG9rZW4oY29uc3QgU3RyaW5nJiBh
dXRob3JpemF0aQogICAgIG1fZ2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIucmV2
b2tlQXV0aG9yaXphdGlvblRva2VuKGF1dGhvcml6YXRpb25Ub2tlbik7CiB9CiAKK3ZvaWQgV2Vi
UGFnZVByb3h5OjpyZXF1ZXN0UGVybWlzc2lvbihjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4m
LCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sK
KyAgICAvLyBGSVhNRTogU2hvdyBhIHByb21wdCBmb3IgdXNlciBpbnB1dC4KKyAgICBjb21wbGV0
aW9uSGFuZGxlcihQZXJtaXNzaW9uU3RhdGU6OkdyYW50ZWQpOworfQorCiAjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5JiBXZWJQ
YWdlUHJveHk6OnVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGVhMWMyMmZiNmIxMWJlOTY4OTkyODI2
NGQzYmYzZmM4NDcxMDliOGQuLjQ2MWFhY2I4ODg2YTUyMzFjY2FhZmYwNzRmMmExYTU0YzAxNzdk
NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0yOTQsNiArMjk0
LDcgQEAgc3RydWN0IExpbmtJY29uOwogc3RydWN0IE1lZGlhU3RyZWFtUmVxdWVzdDsKIHN0cnVj
dCBNZWRpYVVzYWdlSW5mbzsKIHN0cnVjdCBNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0
aW9uOworc3RydWN0IFBlcm1pc3Npb25EZXNjcmlwdG9yOwogc3RydWN0IFByZXdhcm1JbmZvcm1h
dGlvbjsKIHN0cnVjdCBTZWN1cml0eU9yaWdpbkRhdGE7CiBzdHJ1Y3QgU2hhcmVEYXRhOwpAQCAt
MjExNyw2ICsyMTE4LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcmVxdWVzdEdlb2xvY2F0aW9u
UGVybWlzc2lvbkZvckZyYW1lKEdlb2xvY2F0aW9uSWRlbnRpZmllciwgRnJhbWVJbmZvRGF0YSYm
KTsKICAgICB2b2lkIHJldm9rZUdlb2xvY2F0aW9uQXV0aG9yaXphdGlvblRva2VuKGNvbnN0IFN0
cmluZyYgYXV0aG9yaXphdGlvblRva2VuKTsKKyAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKGNv
bnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNj
cmlwdG9yJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUp
PiYmKTsKIAogI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQogICAgIHZvaWQgc2Vu
ZE1lc3NhZ2VUb1dlYlZpZXcoVXNlck1lc3NhZ2UmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYmMzN2I4ZmM2YWRmM2VhZDE4
NzJkMTE1NWZmMGNiZDAwOWRjMGFmOS4uMDdlMGY1NDgwMzQ2OTcwM2E2ZjczN2Q5OTMwN2IxZWM3
MzUwY2QzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbgpAQCAtNjAyLDQgKzYwMiw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7
CiAjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgTW9kZWxFbGVtZW50RGlk
Q3JlYXRlUHJldmlldyhzdHJ1Y3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQgZWxlbWVudENvbnRl
eHQsIFVSTCB1cmwsIFN0cmluZyB1dWlkLCBXZWJDb3JlOjpGbG9hdFNpemUgc2l6ZSkKICNlbmRp
ZgorCisgICAgcmVxdWVzdFBlcm1pc3Npb24oc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBv
cmlnaW4sIHN0cnVjdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yKSAt
PiAoZW51bTp1aW50OF90IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBzdGF0ZSkgQXN5bmMKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGZlM2QzMmIzMjk1YzJjNDRmZDQ0NDRjZGQ3ZjE0MWYyNDAwNGNhMDIuLmZiNjhhM2JkMTZkMjcz
ODJjZDMzYzkzYjEwYmViZTI5M2IzM2E1MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQ5Niw2ICsxNDk2LDcgQEAKIAkJOTNBQjlC
NEUyNTc1NjdFMjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRp
YVNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTNBQjlCNDIyNTc0OTI4QzAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRp
bWVNZWRpYVNvdXJjZS5oICovOyB9OwogCQk5M0FCOUI1NTI1NzVBMjc2MDA5OEIxMEUgLyogU3Bl
ZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0FCOUI0
RjI1NzU4OTExMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNl
TWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTkzQUI5QjU2MjU3NUEyOEIwMDk4
QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2Vy
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzQUI5QjUxMjU3NTg5MTEwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJl
bW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsK
KwkJOTNCMEE2NzUyNkQ1QURDRjAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY3NDI2
RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLzsgfTsKIAkJOTNC
MjYxNEQyMjdEMTQ5RTAwQjk3QTc2IC8qIFN0b3JhZ2VNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IyNjE0OTIyN0QxNDcyMDBCOTdBNzYg
LyogU3RvcmFnZU1hbmFnZXIuaCAqLzsgfTsKIAkJOTNCMjYxNEUyMjdEMTRCMTAwQjk3QTc2IC8q
IExvY2FsU3RvcmFnZURhdGFiYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5M0IyNjE0NTIyN0QxNDcwMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0
YWJhc2UuaCAqLzsgfTsKIAkJOTNCMjYxNEYyMjdEMTRCMTAwQjk3QTc2IC8qIExvY2FsU3RvcmFn
ZURhdGFiYXNlVHJhY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTNCMjYxNDYyMjdEMTQ3MTAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNl
VHJhY2tlci5oICovOyB9OwpAQCAtNDkxNCw2ICs0OTE1LDEwIEBACiAJCTkzQUI5QjUyMjU3NTg5
MTIwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VN
YW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdl
c1JlcGxpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNBQjlCNTMyNTc1ODkx
MjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1h
bmFnZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGVlY2hS
ZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNBQjlCNTQyNTc1ODkxMjAwOThCMTBFIC8qIFNw
ZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1lTWVk
aWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTNCMEE2NkQyNkQ0NTE1MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25NYW5hZ2VyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcm1pc3Npb25NYW5hZ2VyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NkUyNkQ0NTE1MDAwQUEyMUU0IC8qIFBl
cm1pc3Npb25NYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1p
c3Npb25NYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjczMjZE
NUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjc0MjZENUE3MkUwMEFBMjFFNCAvKiBX
ZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5M0IyNjE0NTIyN0QxNDcwMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxTdG9yYWdlRGF0YWJhc2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMjYxNDYyMjdEMTQ3MTAwQjk3QTc2IC8qIExv
Y2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTNCMjYxNDcyMjdEMTQ3MTAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNl
VHJhY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2NhbFN0
b3JhZ2VEYXRhYmFzZVRyYWNrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
OTYyMyw2ICs5NjI4LDE1IEBACiAJCQlwYXRoID0gU3BlZWNoOwogCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKIAkJfTsKKwkJOTNCMEE2NkMyNkQ0NTExRjAwQUEyMUU0IC8qIFBlcm1pc3Npb24g
Ki8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTkzQjBBNjZE
MjZENDUxNTAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5jcHAgKi8sCisJCQkJOTNCMEE2
NkUyNkQ0NTE1MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25NYW5hZ2VyLmggKi8sCisJCQkpOworCQkJ
cGF0aCA9IFBlcm1pc3Npb247CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk5
M0IyNjE0MzIyN0QxNDMxMDBCOTdBNzYgLyogV2ViU3RvcmFnZSAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC05ODYzLDYgKzk4NzcsNyBAQAogCQkJCTRBNDEw
RjQxMTlBRjdCMjcwMDJFQkFCNSAvKiBNZWRpYVN0cmVhbSAqLywKIAkJCQk1MTA1QjBEMjE2MkY3
QTVFMDBFMjc3MDkgLyogTmV0d29yayAqLywKIAkJCQkzMTA5OTk3NDE0NkM4QUE4MDAyOURFQjkg
LyogTm90aWZpY2F0aW9ucyAoVXNlcikgKi8sCisJCQkJOTNCMEE2NkMyNkQ0NTExRjAwQUEyMUU0
IC8qIFBlcm1pc3Npb24gKi8sCiAJCQkJMUE2RkI3QUExMUU2NEI0OTAwREIxMzcxIC8qIFBsdWdp
bnMgKi8sCiAJCQkJOTNBQjlCNDgyNTc0QzVDRTAwOThCMTBFIC8qIFNwZWVjaCAqLywKIAkJCQk1
MTE4RTk5ODFGMjk1MjU5MDAzRUY5RjUgLyogU3RvcmFnZSAqLywKQEAgLTk5MzMsNiArOTk0OCw4
IEBACiAJCQkJNTEyMTI3QzIxOTA4MjM5QTAwREFGMzVDIC8qIFdlYlBhc3RlYm9hcmRPdmVycmlk
ZXMuaCAqLywKIAkJCQkwRjg1MEZFNDFFRDdDMzlGMDBGQjc3QTcgLyogV2ViUGVyZm9ybWFuY2VM
b2dnaW5nQ2xpZW50LmNwcCAqLywKIAkJCQkwRjg1MEZFNTFFRDdDMzlGMDBGQjc3QTcgLyogV2Vi
UGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmggKi8sCisJCQkJOTNCMEE2NzMyNkQ1QTcyRTAwQUEy
MUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcCAqLywKKwkJCQk5M0IwQTY3NDI2RDVB
NzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLywKIAkJCQkxQTNFNzM2
MDExQ0MyNjU5MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCAqLywKIAkJCQkx
QTNFNzM1RjExQ0MyNjU5MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggKi8sCiAJ
CQkJRDNCOTQ4NDIxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5jcHAgKi8sCkBAIC0x
MjY2Miw2ICsxMjY3OSw3IEBACiAJCQkJQTE3OThCNEMyMjJGMUJENDAwMDc2NEJEIC8qIFdlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjFGNzk5
MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2VzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwRjg1MEZFNzFFRDdDMzlGMDBGQjc3QTcgLyogV2ViUGVyZm9y
bWFuY2VMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY3NTI2RDVBRENG
MDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBM0U3MzYxMTFDQzI2NTkwMDdCRDUzOSAvKiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDNTc0NEYwMTI2MzhGQjMwMDZGMEYxMiAvKiBXZWJQb3B1cEl0ZW0u
aCBpbiBIZWFkZXJzICovLAogCQkJCUQzQjk0ODQ3MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1
cE1lbnUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzgwY2FiZTAwY2Y2ZTM4NTE5ZjdkMDNiOThhMDczM2M2MzlmNDIwYwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAKQEAgLTAsMCArMSwxNDIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViUGVybWlzc2lvbkNvbnRyb2xs
ZXIuaCIKKworCisjaW5jbHVkZSAiV2ViUGFnZS5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1l
c3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uT2JzZXJ2ZXIuaD4KKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK1dlYlBlcm1pc3Npb25Db250cm9sbGVyOjpXZWJQZXJtaXNzaW9u
Q29udHJvbGxlcihXZWJQYWdlJiBwYWdlKQorICAgIDogbV9wYWdlKG1ha2VXZWFrUHRyKHBhZ2Up
KQoreworfQorCitXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgV2ViUGVybWlzc2lvbkNvbnRyb2xs
ZXI6OnF1ZXJ5KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6UGVybWlz
c2lvbkRlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQoreworICAgIGlmICghbV9wYWdlKQorICAgICAg
ICByZXR1cm4gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpEZW5pZWQ7CisKKyAgICByZXR1cm4g
cXVlcnlDYWNoZShXVEZNb3ZlKG9yaWdpbiksIFdURk1vdmUoZGVzY3JpcHRvcikpOworfQorCit2
b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpyZXF1ZXN0KFdlYkNvcmU6OkNsaWVudE9yaWdp
biYmIG9yaWdpbiwgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImJiBkZXNjcmlwdG9yLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybiBjb21wbGV0
aW9uSGFuZGxlcihXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkRlbmllZCk7CisKKyAgICBhdXRv
IGNhY2hlZFJlc3VsdCA9IHF1ZXJ5Q2FjaGUob3JpZ2luLCBkZXNjcmlwdG9yKTsKKyAgICBpZiAo
Y2FjaGVkUmVzdWx0ICE9IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0KQorICAgICAg
ICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoY2FjaGVkUmVzdWx0KTsKKworICAgIG1fcmVxdWVz
dHMuYXBwZW5kKFBlcm1pc3Npb25SZXF1ZXN0IHsgV1RGTW92ZShvcmlnaW4pLCBXVEZNb3ZlKGRl
c2NyaXB0b3IpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSB9KTsKKyAgICB0cnlQcm9jZXNz
aW5nUmVxdWVzdCgpOworfQorCitXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgV2ViUGVybWlzc2lv
bkNvbnRyb2xsZXI6OnF1ZXJ5Q2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBvcmln
aW4sIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQorewor
ICAgIGlmIChtX2NhY2hlZFBlcm1pc3Npb25FbnRyaWVzLmNvbnRhaW5zKG9yaWdpbikpIHsKKyAg
ICAgICAgYXV0byBwZXJtaXNzaW9uRW50cmllcyA9IG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXMu
Z2V0KG9yaWdpbik7CisgICAgICAgIGZvciAoYXV0byYgZW50cnkgOiBwZXJtaXNzaW9uRW50cmll
cykgeworICAgICAgICAgICAgaWYgKGVudHJ5LmZpcnN0ID09IGRlc2NyaXB0b3IpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIGVudHJ5LnNlY29uZDsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJl
dHVybiBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdDsKK30KKwordm9pZCBXZWJQZXJt
aXNzaW9uQ29udHJvbGxlcjo6dXBkYXRlQ2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2lu
JiBvcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9y
LCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpCit7CisgICAgYXV0byYgZW50cmllcyA9
IG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXMuZW5zdXJlKG9yaWdpbiwgWyZdKCkgeworICAgICAg
ICByZXR1cm4gVmVjdG9yPFBlcm1pc3Npb25FbnRyeT4geyB9OworICAgIH0pLml0ZXJhdG9yLT52
YWx1ZTsKKyAgICBmb3IgKGF1dG8mIGVudHJ5IDogZW50cmllcykgeworICAgICAgICBpZiAoZW50
cnkuZmlyc3QgPT0gZGVzY3JpcHRvcikgeworICAgICAgICAgICAgaWYgKGVudHJ5LnNlY29uZCA9
PSBzdGF0ZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIGVudHJ5LnNl
Y29uZCA9IHN0YXRlOworICAgICAgICAgICAgcGVybWlzc2lvbkNoYW5nZWQob3JpZ2luLCBkZXNj
cmlwdG9yLCBzdGF0ZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9Cit9
CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnRyeVByb2Nlc3NpbmdSZXF1ZXN0KCkK
K3sKKyAgICBpZiAobV9yZXF1ZXN0cy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAg
IHdoaWxlICghbV9yZXF1ZXN0cy5pc0VtcHR5KCkpIHsKKyAgICAgICAgYXV0byYgY3VycmVudFJl
cXVlc3QgPSBtX3JlcXVlc3RzLmZpcnN0KCk7CisgICAgICAgIGlmIChjdXJyZW50UmVxdWVzdC5p
c1dhaXRpbmdGb3JSZXBseSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAvLyBDYWNo
ZSBtYXkgaGF2ZSB1cGRhdGVkLgorICAgICAgICBhdXRvIGNhY2hlZFJlc3VsdCA9IHF1ZXJ5Q2Fj
aGUoY3VycmVudFJlcXVlc3Qub3JpZ2luLCBjdXJyZW50UmVxdWVzdC5kZXNjcmlwdG9yKTsKKyAg
ICAgICAgaWYgKGNhY2hlZFJlc3VsdCAhPSBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21w
dCkgeworICAgICAgICAgICAgYXV0byB0YWtlblJlcXVlc3QgPSBtX3JlcXVlc3RzLnRha2VGaXJz
dCgpOworICAgICAgICAgICAgdGFrZW5SZXF1ZXN0LmNvbXBsZXRpb25IYW5kbGVyKGNhY2hlZFJl
c3VsdCk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCisgICAgICAgIGN1cnJl
bnRSZXF1ZXN0LmlzV2FpdGluZ0ZvclJlcGx5ID0gdHJ1ZTsKKyAgICAgICAgbV9wYWdlLT5zZW5k
V2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24o
Y3VycmVudFJlcXVlc3Qub3JpZ2luLCBjdXJyZW50UmVxdWVzdC5kZXNjcmlwdG9yKSwgW3RoaXMs
IHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXShhdXRvIHN0YXRlKSB7CisgICAgICAgICAg
ICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAg
YXV0byB0YWtlblJlcXVlc3QgPSBtX3JlcXVlc3RzLnRha2VGaXJzdCgpOworICAgICAgICAgICAg
dGFrZW5SZXF1ZXN0LmNvbXBsZXRpb25IYW5kbGVyKHN0YXRlKTsKKyAgICAgICAgICAgIHVwZGF0
ZUNhY2hlKHRha2VuUmVxdWVzdC5vcmlnaW4sIHRha2VuUmVxdWVzdC5kZXNjcmlwdG9yLCBzdGF0
ZSk7CisKKyAgICAgICAgICAgIHRyeVByb2Nlc3NpbmdSZXF1ZXN0KCk7CisgICAgICAgIH0pOwor
ICAgIH0KK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6YWRkT2JzZXJ2ZXIoV2Vi
Q29yZTo6UGVybWlzc2lvbk9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICBtX29ic2VydmVycy5h
ZGQob2JzZXJ2ZXIpOworfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpyZW1vdmVP
YnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImIG9ic2VydmVyKQoreworICAgIG1f
b2JzZXJ2ZXJzLnJlbW92ZShvYnNlcnZlcik7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRy
b2xsZXI6OnBlcm1pc3Npb25DaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYgb3Jp
Z2luLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgV2Vi
Q29yZTo6UGVybWlzc2lvblN0YXRlIHN0YXRlKQoreworICAgIGZvciAoYXV0byYgb2JzZXJ2ZXIg
OiBtX29ic2VydmVycykgeworICAgICAgICBpZiAob2JzZXJ2ZXIub3JpZ2luKCkgPT0gb3JpZ2lu
ICYmIG9ic2VydmVyLmRlc2NyaXB0b3IoKSA9PSBkZXNjcmlwdG9yKQorICAgICAgICAgICAgb2Jz
ZXJ2ZXIuc3RhdGVDaGFuZ2VkKHN0YXRlKTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45M2JlMWVk
OWViNjJmOWQ0MmRmNTE1MWRhZDdmYTUwZjMzZDQ3OWE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9s
bGVyLmgKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5j
bHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uQ29udHJvbGxlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
UGVybWlzc2lvbkRlc2NyaXB0b3IuaD4KKyNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KKyNpbmNsdWRl
IDx3dGYvV2Vha0hhc2hTZXQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlBh
Z2U7CisKK2NsYXNzIFdlYlBlcm1pc3Npb25Db250cm9sbGVyIGZpbmFsIDogcHVibGljIENhbk1h
a2VXZWFrUHRyPFdlYlBlcm1pc3Npb25Db250cm9sbGVyPiwgcHVibGljIFdlYkNvcmU6OlBlcm1p
c3Npb25Db250cm9sbGVyIHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBXZWJQZXJtaXNzaW9uQ29u
dHJvbGxlcihXZWJQYWdlJik7CisKK3ByaXZhdGU6CisgICAgLy8gV2ViQ29yZTo6UGVybWlzc2lv
bkNvbnRyb2xsZXIKKyAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgcXVlcnkoV2ViQ29yZTo6
Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiYpIGZpbmFsOwor
ICAgIHZvaWQgcmVxdWVzdChXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6UGVybWlz
c2lvbkRlc2NyaXB0b3ImJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNz
aW9uU3RhdGUpPiYmKSBmaW5hbDsKKyAgICB2b2lkIGFkZE9ic2VydmVyKFdlYkNvcmU6OlBlcm1p
c3Npb25PYnNlcnZlciYpIGZpbmFsOworICAgIHZvaWQgcmVtb3ZlT2JzZXJ2ZXIoV2ViQ29yZTo6
UGVybWlzc2lvbk9ic2VydmVyJikgZmluYWw7CisKKyAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3Rh
dGUgcXVlcnlDYWNoZShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBjb25zdCBXZWJDb3Jl
OjpQZXJtaXNzaW9uRGVzY3JpcHRvciYpOworICAgIHZvaWQgdXBkYXRlQ2FjaGUoY29uc3QgV2Vi
Q29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3Im
LCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpOworICAgIHZvaWQgdHJ5UHJvY2Vzc2luZ1JlcXVl
c3QoKTsKKyAgICB2b2lkIHBlcm1pc3Npb25DaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9y
aWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiwgV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXRlKTsKKworICAgIFdlYWtQdHI8V2ViUGFnZT4gbV9wYWdlOworICAgIFdlYWtI
YXNoU2V0PFdlYkNvcmU6OlBlcm1pc3Npb25PYnNlcnZlcj4gbV9vYnNlcnZlcnM7CisKKyAgICB1
c2luZyBQZXJtaXNzaW9uRW50cnkgPSBzdGQ6OnBhaXI8V2ViQ29yZTo6UGVybWlzc2lvbkRlc2Ny
aXB0b3IsIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZT47CisgICAgSGFzaE1hcDxXZWJDb3JlOjpD
bGllbnRPcmlnaW4sIFZlY3RvcjxQZXJtaXNzaW9uRW50cnk+PiBtX2NhY2hlZFBlcm1pc3Npb25F
bnRyaWVzOworCisgICAgc3RydWN0IFBlcm1pc3Npb25SZXF1ZXN0IHsKKyAgICAgICAgV2ViQ29y
ZTo6Q2xpZW50T3JpZ2luIG9yaWdpbjsKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2Ny
aXB0b3IgZGVzY3JpcHRvcjsKKyAgICAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3Jl
OjpQZXJtaXNzaW9uU3RhdGUpPiBjb21wbGV0aW9uSGFuZGxlcjsKKyAgICAgICAgYm9vbCBpc1dh
aXRpbmdGb3JSZXBseSB7IGZhbHNlIH07CisgICAgfTsKKyAgICBEZXF1ZTxQZXJtaXNzaW9uUmVx
dWVzdD4gbV9yZXF1ZXN0czsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMDRlM2FlMjAxNDNm
MmYzZGJkMjA2NGEzMDJmMDFiODRlZGNhOTY0NS4uNzExZWQ4ZTkyMjc2ZWI5MzFmNTQ0NWM3NGZk
NmMzYjBlOWViNTQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKQEAgLTEyMSw2ICsxMjEsNyBAQAogI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3Nh
Z2VzLmgiCiAjaW5jbHVkZSAiV2ViUGF5bWVudENvb3JkaW5hdG9yLmgiCiAjaW5jbHVkZSAiV2Vi
UGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmgiCisjaW5jbHVkZSAiV2ViUGVybWlzc2lvbkNvbnRy
b2xsZXIuaCIKICNpbmNsdWRlICJXZWJQbHVnaW5JbmZvUHJvdmlkZXIuaCIKICNpbmNsdWRlICJX
ZWJQb3B1cE1lbnUuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgiCkBA
IC01NjMsNyArNTY0LDggQEAgV2ViUGFnZTo6V2ViUGFnZShQYWdlSWRlbnRpZmllciBwYWdlSUQs
IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgICAgICBtYWtlVW5p
cXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xpZW50PihtX21haW5GcmFtZS5jb3B5UmVmKCkpLAogICAg
ICAgICBtYWtlVW5pcXVlUmVmPFdlYlNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+KG1faWRlbnRp
ZmllciksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPigqdGhp
cyksCi0gICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmJyb2FkY2FzdENoYW5uZWxSZWdp
c3RyeSgpCisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmJyb2FkY2FzdENoYW5uZWxS
ZWdpc3RyeSgpLAorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYlBlcm1pc3Npb25Db250cm9sbGVy
PigqdGhpcykKICAgICApOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5l
dyBXZWJDaHJvbWVDbGllbnQoKnRoaXMpOwogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0Rpc3BsYXlSZWZy
ZXNoTW9uaXRvck1hYy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0Rp
c3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCmluZGV4IGJiZjhkMWJiOGNlNmMzMDFkYzNlZjIwMTk1
M2Q4MmZlYzA1ZWRkNTguLjU2YmM4MWM3OGYzNGFhNDUzNDc5MzVkMjcxZWM1NzBjM2ZjN2VlNTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5
UmVmcmVzaE1vbml0b3JNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmgKQEAgLTUwLDcgKzUwLDcgQEAgcHJpdmF0
ZToKICAgICBib29sIHN0YXJ0Tm90aWZpY2F0aW9uTWVjaGFuaXNtKCkgZmluYWw7CiAgICAgdm9p
ZCBzdG9wTm90aWZpY2F0aW9uTWVjaGFuaXNtKCkgZmluYWw7CiAKLSAgICB2b2lkIGFkanVzdFBy
ZWZlcnJlZEZyYW1lc1BlclNlY29uZChGcmFtZXNQZXJTZWNvbmQpIGZpbmFsOworICAgIHZvaWQg
YWRqdXN0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKFdlYkNvcmU6OkZyYW1lc1BlclNlY29uZCkg
ZmluYWw7CiAKICAgICBEaXNwbGF5TGlua09ic2VydmVySUQgbV9vYnNlcnZlcklEOwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpSdW5Mb29wT2JzZXJ2ZXI+IG1fcnVuTG9vcE9ic2VydmVy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGNkNmE1
ZjU3Mjk5NGY3ZWM0ZmJkZTc2MzdkZjg2N2JkNTJmM2M4MzQuLjQ4MDNlYmM5ZWM3N2U4OGUxNWIy
OGUyYmVkYzE2ZDY3M2E3Mjg5Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KQEAgLTE5NSw2ICsxOTUsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2VDb25maWd1cmF0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1BhdGhVdGlsaXRpZXMuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUGVybWlzc2lvbkNvbnRyb2xsZXIu
aD4KICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMuaD4KICNpbXBvcnQg
PFdlYkNvcmUvUGxhdGZvcm1TY3JlZW4uaD4KICNpbXBvcnQgPFdlYkNvcmUvUHJvZ3Jlc3NUcmFj
a2VyLmg+CkBAIC0xNTM2LDcgKzE1MzcsOCBAQCBzdGF0aWMgdm9pZCBXZWJLaXRJbml0aWFsaXpl
R2FtZXBhZFByb3ZpZGVySWZOZWNlc3NhcnkoKQogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkZy
YW1lTG9hZGVyQ2xpZW50PigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15
U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJD
b3JlOjpNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCksCi0gICAgICAgIFdlYkJyb2FkY2FzdENoYW5u
ZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoW1tzZWxmIHByZWZlcmVuY2VzXSBwcml2YXRlQnJvd3Np
bmdFbmFibGVkXSkKKyAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNy
ZWF0ZShbW3NlbGYgcHJlZmVyZW5jZXNdIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdKSwKKyAgICAg
ICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpEdW1teVBlcm1pc3Npb25Db250cm9sbGVyPigpCiAg
ICAgKTsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBwYWdlQ29uZmlndXJhdGlvbi5j
aHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KHNlbGYpOwpAQCAtMTgxNCw3ICsxODE2
LDggQEAgc3RhdGljIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUdhbWVwYWRQcm92aWRlcklmTmVjZXNz
YXJ5KCkKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJGcmFtZUxvYWRlckNsaWVudD4oKSwKICAg
ICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpEdW1teVNwZWVjaFJlY29nbml0aW9uUHJvdmlk
ZXI+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TWVkaWFSZWNvcmRlclByb3Zp
ZGVyPigpLAotICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRl
KFtbc2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0pCisgICAgICAgIFdl
YkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoW1tzZWxmIHByZWZlcmVuY2Vz
XSBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSksCisgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29y
ZTo6RHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlcj4oKQogICAgICk7CiAgICAgcGFnZUNvbmZpZ3Vy
YXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudElPUyhzZWxmKTsKICNpZiBF
TkFCTEUoRFJBR19TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAppbmRleCAx
Y2YzMmRhMjRhMDkwY2ZlM2QyYjY1MjljYTgzZjgyNmM1NTgyZTlkLi5jMTllOGVmZjU3ZjgxOTBl
YTJjNGJjZTMxNWYwZjgwYjM5MmMxOWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNw
cApAQCAtMTM4LDYgKzEzOCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZUNvbmZpZ3VyYXRpb24uaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1BhdGhVdGlsaXRpZXMuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1pc3Npb25Db250cm9s
bGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1BsYXRmb3JtTW91c2VFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxh
dGZvcm1XaGVlbEV2ZW50Lmg+CkBAIC0zMTMzLDcgKzMxMzQsOCBAQCBIUkVTVUxUIFdlYlZpZXc6
OmluaXRXaXRoRnJhbWUoUkVDVCBmcmFtZSwgX0luXyBCU1RSIGZyYW1lTmFtZSwgX0luXyBCU1RS
IGdyb3VwTgogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xpZW50Pih3ZWJG
cmFtZSksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3Zp
ZGVyPigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKSwK
LSAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShmYWxzZSkK
KyAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShmYWxzZSks
CisgICAgICAgIG1ha2VVbmlxdWVSZWY8RHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlcj4oKQogICAg
ICk7CiAgICAgY29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50
KHRoaXMpOwogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGYxMzVmZGMzMDk3NTYw
OTc2ZGE4MDhjOTk4OWYwMDczYmM5MWQ0ZTkuLjA5MDVmNzAzNGMyNGNjY2I0ZmI0NTg0MzlkZDQx
NzQwODg1YjAzMjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wOC0yNyAgU2lodWkgTGl1
ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Np
b25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI5MzM5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MjQ0MjIwNT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8t
Y3Jhc2gtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvZmFzdC9kb20v
bmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0
Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0wOC0yNSAgQWxleCBDaHJpc3RlbnNl
biAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGluIEdyYXBoaWNz
Q29udGV4dEdMT3BlbkdMOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCmluZGV4IDhhNjY1MGY4ODI4NDk5ODAyYTlkMjBlZmU2OWI1NDMzN2I2
NDRiOGYuLmQ4ZWQzN2I5ODQ1MGU2NjRmZGJmOTA5MjJkMDM1NTgwMTM5NGM4MjEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA4LTI3ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdHVicyBmb3IgUGVy
bWlzc2lvbnMgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjkzMzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgyNDQyMjA1PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBl
cm1pc3Npb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJt
aXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMu
c3ViLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lv
bnMvcGVybWlzc2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3Qt
YmFja2dyb3VuZC1mZXRjaC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMt
cGVybWlzc2lvbi1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDgtMjUgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjIHdrMl0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVwb3J0aW5nLXRv
LWZyYW1lLW93bmVyLmh0dHBzLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCA2YmRlMmY5NGVhZDIxN2I4NjQ0MzI1NzE4YzFmNGM2MjExZjI3NjcwLi44YmM5MzY4
ZDhhOGVkMjhiYWFhNTQxM2RiZjhhYmYyYzE2ZmQxOTFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTE5Niw2ICsxOTYsNyBAQCBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3Blcm1pc3Npb24tZXJyb3Iu
aHRtbCBbIFNraXAgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1yZWNvZ25pdGlvbi10
aGVuLXN0b3AuaHRtbCBbIFNraXAgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1zZWNv
bmQtcmVjb2duaXRpb24uaHRtbCBbIFNraXAgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9pb3Mv
IFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zLyBb
IFNraXAgXQogCiAjIGFwcC1wcml2YWN5LXJlcG9ydCB0ZXN0cyByZWx5IG9uIFdlYktpdEFkZGl0
aW9ucwogaHR0cC90ZXN0cy9hcHAtcHJpdmFjeS1yZXBvcnQvIFsgU2tpcCBdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25z
L2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0
CmluZGV4IGI4NGQ0MGQ3NjVmMjA0MDgzZGVmOGI2NzcwMGM0MjA0NGIwMzQ2OTguLjBjNGJhYTBj
ZmVlMDFmOTRjZWFmNGFmN2ZiMzhmODliNGZiNmJiZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5h
bnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CkBAIC0xOSwy
OSArMTksMjkgQEAgUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ6IG1l
bWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZp
Z2F0b3JMYW5ndWFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdh
dG9yIGluY2x1ZGVzIE5hdmlnYXRvck9uTGluZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBB
U1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0
dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBl
cm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhw
ZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lv
blN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJv
cGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1
cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0
YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3Bh
YmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lv
blN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmli
dXRlIHN0YXRlIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3Rh
dHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25jaGFuZ2UgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0
dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBtdXN0IGJlIHByaW1hcnkgaW50ZXJm
YWNlIG9mIHBlcm1pc3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRp
b24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJS
ZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZB
SUwgU3RyaW5naWZpY2F0aW9uIG9mIHBlcm1pc3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFsczogVW5l
eHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1
dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlz
c2lvblN0YXR1cyIKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25T
dGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzdGF0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
YXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVj
dCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNoYW5nZSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24g
d2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZl
cmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwg
UGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNz
aW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMg
aW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlz
c2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVj
dGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5
ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5z
Y29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9u
cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeShv
YmplY3QpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcK
LUZBSUwgUGVybWlzc2lvbnMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3Iu
cGVybWlzc2lvbnMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAi
b2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuYXZp
Z2F0b3IucGVybWlzc2lvbnMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBl
Y3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIFBlcm1pc3Npb25zIGludGVy
ZmFjZTogbmF2aWdhdG9yLnBlcm1pc3Npb25zIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVlcnko
b2JqZWN0KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9m
IG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIFBlcm1p
c3Npb25zIGludGVyZmFjZTogY2FsbGluZyBxdWVyeShvYmplY3QpIG9uIG5hdmlnYXRvci5wZXJt
aXNzaW9ucyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2Vy
dF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAi
dW5kZWZpbmVkIgotRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGVybWlzc2lv
bnMgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5
ICJwZXJtaXNzaW9ucyIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgTmF2aWdhdG9yIGlu
dGVyZmFjZTogbmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGVybWlzc2lvbnMiIHdp
dGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInBlcm1pc3Npb25z
IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFT
UyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1pc3Np
b25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJv
cGVydHkKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJv
cGVydHkKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZQor
UEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlCitQQVNT
IFBlcm1pc3Npb25TdGF0dXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBwZXJtaXNzaW9u
U3RhdHVzCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBwZXJtaXNzaW9uU3RhdHVzCitQQVNTIFBl
cm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAic3RhdGUiIHdpdGggdGhlIHByb3BlciB0eXBlCitQQVNTIFBlcm1pc3Npb25TdGF0
dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25j
aGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUGVybWlz
c2lvbnMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNl
IG9iamVjdCBuYW1lCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Npb25z
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNl
OiBvcGVyYXRpb24gcXVlcnkob2JqZWN0KQorUEFTUyBQZXJtaXNzaW9ucyBtdXN0IGJlIHByaW1h
cnkgaW50ZXJmYWNlIG9mIG5hdmlnYXRvci5wZXJtaXNzaW9ucworUEFTUyBTdHJpbmdpZmljYXRp
b24gb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTog
bmF2aWdhdG9yLnBlcm1pc3Npb25zIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVlcnkob2JqZWN0
KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBjYWxs
aW5nIHF1ZXJ5KG9iamVjdCkgb24gbmF2aWdhdG9yLnBlcm1pc3Npb25zIHdpdGggdG9vIGZldyBh
cmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IKK1BBU1MgTmF2aWdhdG9yIGludGVyZmFjZTog
YXR0cmlidXRlIHBlcm1pc3Npb25zCitQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IG5hdmlnYXRv
ciBtdXN0IGluaGVyaXQgcHJvcGVydHkgInBlcm1pc3Npb25zIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhh
cm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggNTI1NjAyZDE2ZDdmMGY1NGNhOGVm
MDNmN2ZjZjViNGVlZWYzMTY5Ny4uMDYyYjI5NTdmMzE1NTFiMzUyYTQ5NTQxNmMzZjRhYmZhNTc5
OWU2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
aWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMTksMjUgKzE5LDI1IEBAIFBB
U1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJl
IHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBO
YXZpZ2F0b3JPbkxpbmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmln
YXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JDb25jdXJyZW50SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBh
cmUgdW5pcXVlCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBw
cm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVz
IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5
ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJm
YWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNz
aW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lv
blN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZB
SUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlz
c2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcK
LUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVy
bWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3Np
bmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZSBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNz
aW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwot
RkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlIGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Np
b25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCitQ
QVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmpl
Y3QgbGVuZ3RoCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQ
QVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTog
YXR0cmlidXRlIG9uY2hhbmdlCiBGQUlMIFBlcm1pc3Npb25TdGF0dXMgbXVzdCBiZSBwcmltYXJ5
IGludGVyZmFjZSBvZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQg
ZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9i
amVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0
dXMiCiBGQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9lcXVh
bHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQg
bnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IHBlcm1pc3Npb25TdGF0dXMiCiBGQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJt
aXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RhdGUiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGlu
ZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCiBGQUlMIFBlcm1pc3Npb25TdGF0
dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25j
aGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhj
ZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVj
dCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMi
Ci1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9u
cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNz
aW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1p
c3Npb25zIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkg
IlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25z
IiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lv
bnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBw
cm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVy
bWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24g
cXVlcnkob2JqZWN0KSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBt
aXNzaW5nCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVj
dCBsZW5ndGgKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBl
cm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVj
dG9yIiBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMg
cHJvcGVydHkKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2Jq
ZWN0KQogRkFJTCBQZXJtaXNzaW9ucyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmln
YXRvci5wZXJtaXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVj
dGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKIEZBSUwgU3RyaW5naWZpY2F0aW9uIG9m
IG5hdmlnYXRvci5wZXJtaXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0
IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKIEZBSUwgUGVybWlzc2lvbnMg
aW50ZXJmYWNlOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJx
dWVyeShvYmplY3QpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0
eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlz
c2lvbnMvbmZjLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3Rl
ZC50eHQKaW5kZXggYzNlODYwNWY4NzI4N2E4MDM4MWY1ZGI4MDZjZGQwNWEyNTU2NWRkZS4uYzJm
ZDY1ZThkNDAwMmE3MjMwMTg3YTYxZjUxYzI4MmVmYzFjNmJlYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVy
bWlzc2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKQEAg
LTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCBXZWIgTkZDIFBlcm1pc3Npb24uIHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkn
KQorUEFTUyBUZXN0IFdlYiBORkMgUGVybWlzc2lvbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9u
cy1xdWVyeS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
cGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1Yi1leHBl
Y3RlZC50eHQKaW5kZXggZTQyZGRhMjYxMmYyNTdiN2YwMmJiZWVmNjU2MzNiMjViNzM2NDdhNS4u
YzRiYTI0OTJlOTkxOTlkNjY2MDVhOGMwMWFhMDE1MWI5NjI0NjA3OCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJt
aXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bl
cm1pc3Npb25zL3Blcm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRw
cy5zdWItZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCi1GQUlMIFBlcm1pc3Npb25zLnN0
YXRlIGlzICJwcm9tcHQiIHdpdGggYWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBzYW1lLW9yaWdpbiBp
ZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xv
Y2F0aW9uIikgZXhwZWN0ZWQgKHN0cmluZykgInByb21wdCIgYnV0IGdvdCAob2JqZWN0KSBudWxs
Ci1GQUlMIFBlcm1pc3Npb25zLnN0YXRlIGlzICJwcm9tcHQiIHdpdGggYWxsb3c9Imdlb2xvY2F0
aW9uIiBpbiBjcm9zcy1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBl
cm1pc3Npb25zLnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJwcm9tcHQi
IGJ1dCBnb3QgKG9iamVjdCkgbnVsbAotRkFJTCBQZXJtaXNzaW9uLnN0YXRlIGlzICJwcm9tcHQi
IGluIHNhbWUtb3JpZ2luIGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNz
aW9ucy5xdWVyeSgiZ2VvbG9jYXRpb24iKSBleHBlY3RlZCAoc3RyaW5nKSAicHJvbXB0IiBidXQg
Z290IChvYmplY3QpIG51bGwKLUZBSUwgUGVybWlzc2lvbi5zdGF0ZSBpcyAiZGVuaWVkIiBpbiBj
cm9zcy1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25z
LnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJkZW5pZWQiIGJ1dCBnb3Qg
KG9iamVjdCkgbnVsbAorUEFTUyBQZXJtaXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFs
bG93PSJnZW9sb2NhdGlvbiIgaW4gc2FtZS1vcmlnaW4gaWZyYW1lcy4KK1BBU1MgUGVybWlzc2lv
bnMuc3RhdGUgaXMgInByb21wdCIgd2l0aCBhbGxvdz0iZ2VvbG9jYXRpb24iIGluIGNyb3NzLW9y
aWdpbiBpZnJhbWVzLgorUEFTUyBQZXJtaXNzaW9uLnN0YXRlIGlzICJwcm9tcHQiIGluIHNhbWUt
b3JpZ2luIGlmcmFtZXMuCitGQUlMIFBlcm1pc3Npb24uc3RhdGUgaXMgImRlbmllZCIgaW4gY3Jv
c3Mtb3JpZ2luIGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5x
dWVyeSgiZ2VvbG9jYXRpb24iKSBleHBlY3RlZCAiZGVuaWVkIiBidXQgZ290ICJwcm9tcHQiCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGVybWlzc2lvbnMvcGVybWlzc2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Np
b25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0CmluZGV4IDExZmIxYTBkNjEyNGRhOTRlMDAxZTdk
ZDkyM2UwMTdjZTY5ZTc4YmEuLjBlNGViY2M0N2NjYjkzODkwOGVjZTg0Y2M2OGYxNTNkMDg1Mzc5
YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9w
ZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJ
TCBUZXN0IFBlcm1pc3Npb25TdGF0dXMncyBuYW1lIGF0dHJpYnV0ZS4gcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmlu
ZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1
ZXJ5JykiCitQQVNTIFRlc3QgUGVybWlzc2lvblN0YXR1cydzIG5hbWUgYXR0cmlidXRlLgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bl
cm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVl
bi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXggODVjN2JiYTVjMmIyNDU5
M2Y1MWUyMTQ2YmUyNWJkMTZmYTA1ZmY1OC4uZDY4YjY4MGI4MTlkZTE3YzNhZDM1YmQ1OGU2ZjUw
ZDE1YTZkYmFiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGVybWlzc2lvbnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dApAQCAt
MSwzICsxLDMgQEAKIAotRkFJTCBUZXN0ICJzY3JlZW4td2FrZS1sb2NrIiBQZXJtaXNzaW9uLiBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3Iu
cGVybWlzc2lvbnMucXVlcnknKSIKK0ZBSUwgVGVzdCAic2NyZWVuLXdha2UtbG9jayIgUGVybWlz
c2lvbi4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1m
ZXRjaC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1p
c3Npb24tZXhwZWN0ZWQudHh0CmluZGV4IDlhOTQyNjlmYjc0MzhmYzYzYmUxOGQwMGNkMjk5N2Nj
NTliYThkZDYuLjc4NWJiNTg1ZjUxNTk1ZmRlYTA1MjM0MTY3MjM4MTNjOGRiMjMxNTkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlz
c2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
dGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEs
MyBAQAogCi1GQUlMIFRlc3QgQmFja2dyb3VuZCBGZXRjaCBQZXJtaXNzaW9uLiB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5
JykKK1BBU1MgVGVzdCBCYWNrZ3JvdW5kIEZldGNoIFBlcm1pc3Npb24uCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
dGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rl
c3QtcGVyaW9kaWMtYmFja2dyb3VuZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CmluZGV4
IDMxNmQzNTFhMGUwNzU0YjFlNTA5YmYzY2EwYWRhNGI2NGRlMzU2YTcuLjRlOWYzN2E4NzU2ZWIx
N2EyZmI4NGYxMTcwMmExNDNhODZiNzA5OWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNr
Z3JvdW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJh
Y2tncm91bmQtc3luYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAot
RkFJTCBUZXN0IFBlcmlvZGljIEJhY2tncm91bmQgU3luYyBQZXJtaXNzaW9uLiBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lv
bnMucXVlcnknKSIKK0ZBSUwgVGVzdCBQZXJpb2RpYyBCYWNrZ3JvdW5kIFN5bmMgUGVybWlzc2lv
bi4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBUeXBlIGVycm9yIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2sxL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRh
Y2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggYzQ2ZmVjNjQwNTk4YmRmOWJmZWM1YmZi
NzUxMWQ2NzA4N2VjMWI2ZS4uZTA4MTcwMzQ1ODBhM2UyZDMyYTBjMGM1YzZkZGNmNTQ1NzUyYzkx
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9mYXN0L2RvbS9uYXZp
Z2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azEvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVj
dGVkLnR4dApAQCAtMTMsNiArMTMsNyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgaXMg
T0sKIG5hdmlnYXRvci5tZWRpYVNlc3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlwZXMgaXMg
T0sKIG5hdmlnYXRvci5vbkxpbmUgaXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyBPSwog
bmF2aWdhdG9yLnBsYXRmb3JtIGlzIE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwogbmF2aWdh
dG9yLnByb2R1Y3QgaXMgT0sKQEAgLTM2LDYgKzM3LDcgQEAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzIGlzIE9LCiBuYXZpZ2F0b3IubWVkaWFTZXNzaW9uIGlzIE9LCiBuYXZpZ2F0b3IubWlt
ZVR5cGVzIGlzIE9LCiBuYXZpZ2F0b3Iub25MaW5lIGlzIE9LCituYXZpZ2F0b3IucGVybWlzc2lv
bnMgaXMgT0sKIG5hdmlnYXRvci5wbGF0Zm9ybSBpcyBPSwogbmF2aWdhdG9yLnBsdWdpbnMgaXMg
T0sKIG5hdmlnYXRvci5wcm9kdWN0IGlzIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1k
ZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggZGY5MDEwOTA0ZDU3N2U4NWEwNzY2
NjdhOTM3YWQ3N2U2ZDhmNTk1Ny4uYzY4ZDNjYTBiMzBjZGNlZTdkZTFlYjdiZTQxMzY5YTBiZWRi
ODNiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9u
YXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4
cGVjdGVkLnR4dApAQCAtMTgsNiArMTgsNyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMg
aXMgT0sKIG5hdmlnYXRvci5tZWRpYVNlc3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlwZXMg
aXMgT0sKIG5hdmlnYXRvci5vbkxpbmUgaXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyBP
SwogbmF2aWdhdG9yLnBsYXRmb3JtIGlzIE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwogbmF2
aWdhdG9yLnByb2R1Y3QgaXMgT0sKQEAgLTUxLDYgKzUyLDcgQEAgbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzIGlzIE9LCiBuYXZpZ2F0b3IubWVkaWFTZXNzaW9uIGlzIE9LCiBuYXZpZ2F0b3Iu
bWltZVR5cGVzIGlzIE9LCiBuYXZpZ2F0b3Iub25MaW5lIGlzIE9LCituYXZpZ2F0b3IucGVybWlz
c2lvbnMgaXMgT0sKIG5hdmlnYXRvci5wbGF0Zm9ybSBpcyBPSwogbmF2aWdhdG9yLnBsdWdpbnMg
aXMgT0sKIG5hdmlnYXRvci5wcm9kdWN0IGlzIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDZjZWUwZmEyZDRkNWRmZjZiOWQ2MTgyN2VlZTNlOTE0ZDk3
OWI5NDUuLjQwOGM4YjQxYmM0M2NhMWIzM2YwNjQ3OTEwYTJiYTVjNjYzMzZkYmUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCkBAIC04NjAsNCArODYwLDUgQEAg
ZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9wZXJtaXNzaW9uLWVycm9yLmh0bWwgWyBQYXNzIF0KIGZh
c3Qvc3BlZWNocmVjb2duaXRpb24vc3RhcnQtcmVjb2duaXRpb24tdGhlbi1zdG9wLmh0bWwgWyBQ
YXNzIF0KIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vc3RhcnQtc2Vjb25kLXJlY29nbml0aW9uLmh0
bWwgWyBQYXNzIF0KIGZ1bGxzY3JlZW4vZnVsbC1zY3JlZW4tZW50ZXItd2hpbGUtZXhpdGluZy5o
dG1sIFsgUGFzcyBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25z
LyBbIFBhc3MgXQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436699</attachid>
            <date>2021-08-27 18:38:56 -0700</date>
            <delta_ts>2021-08-30 02:21:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210827183855.patch</filename>
            <type>text/plain</type>
            <size>129609</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLjFiMGRhYjE5MTFhYTBiNzhjNGQ1MDliMjliYWIzNjgwYjkyMzI5
NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDgtMjcgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVu
Y2VzRXhwZXJpbWVudGFsLnlhbWw6CisKIDIwMjEtMDgtMjUgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHNvbWUgaU9TLXNwZWNpZmljIGNv
bXBpbGUtdGltZSBndWFyZHMgdGhhdCBhcmUgbm8gbG9uZ2VyIG5lZWRlZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGRhOTM1MmRkOGVmOWRjZDk1ZmJkNjcxMmI1NGViNGVlZmZlZDI1YzIuLmQ1MzAxMjYxZjkyMWMy
ZDBmNTYzMTAxNjI5MWY5MTRjZTgyYmY4ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3OCBAQAor
MjAyMS0wOC0yNyAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MjQ0
MjIwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgYmluZGluZ3MgY29kZSBhbmQgYSBmZWF0dXJlIGZsYWcgZm9yIFBlcm1pc3Npb25zIEFQSS4K
KyAgICAgICAgU3BlYzogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLworCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gUmViYXNlbGluZSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAg
ICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbDogQWRkZWQu
CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6Ok5hdmlnYXRv
clBlcm1pc3Npb25zKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpw
ZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6ZnJv
bSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6c3VwcGxlbWVudE5h
bWUpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMu
aDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uQ29udHJv
bGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0
b3I6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbkRlc2Ny
aXB0b3I6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3Jp
cHRvcjo6ZGVjb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uTmFtZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25OYW1lLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uT2JzZXJ2ZXIuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uU3RhdGUuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uU3RhdGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25TdGF0dXMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Np
b25TdGF0dXM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdHVzOjpQ
ZXJtaXNzaW9uU3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6On5Q
ZXJtaXNzaW9uU3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OnN0
YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdHVzOjphY3RpdmVE
T01PYmplY3ROYW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6
OnZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXR1czo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNz
aW9uU3RhdHVzOjpldmVudExpc3RlbmVyc0RpZENoYW5nZSk6CisgICAgICAgICogTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlBlcm1pc3Npb25zOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbnM6OlBl
cm1pc3Npb25zKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpuYXZpZ2F0b3IpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbnM6OnF1ZXJ5KToKKyAgICAgICAgKiBNb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cGVybWlzc2lvbkNvbnRyb2xsZXIp
OgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZh
Y3RvcnkuaW46CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnBlcm1pc3Npb25Db250cm9sbGVy
KToKKyAgICAgICAgKiBkb20vVGFza1NvdXJjZS5oOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNs
aWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFnZUNvbmZpZ3VyYXRpb25XaXRoRW1wdHlD
bGllbnRzKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bV9w
ZXJtaXNzaW9uQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpwZXJtaXNzaW9u
Q29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjptX2h0dHBzVXBncmFkZUVuYWJsZWQpOiBE
ZWxldGVkLgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbmZp
Z3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VD
b25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmg6CisKIDIw
MjEtMDgtMjUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBDcmFzaCBpbiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cmVzaGFwZURpc3BsYXlC
dWZmZXJCYWNraW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQyNDFiMmU2ZmE3ODU0ZjE1ZmQzM2M2Y2E5YzdmZWIz
N2JjMWRiMjEuLmMxZDg4MTQxMTBmOThmNDlmYWEyYTU4MjM5NDBhYTc0NDM0YTMwMjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjEtMDgtMjcgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgU2V0IHVwIGJhc2ljIGluZnJhc3RyY3R1cmUgb2YgcGVybWlz
c2lvbiBnZXR0aW5nIGFuZCBzZXR0aW5nLgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBlcm1pc3Np
b25Db250cm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6
OnF1ZXJ5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnJlcXVl
c3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVlcnlDYWNo
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRhdGVDYWNo
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQcm9jZXNz
aW5nUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjph
ZGRPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjpy
ZW1vdmVPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVy
OjpwZXJtaXNzaW9uQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fYXBwSGlnaGxpZ2h0c1Zp
c2libGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hN
b25pdG9yTWFjLmg6CisKIDIwMjEtMDgtMjYgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVq
aWlAc29ueS5jb20+CiAKICAgICAgICAgW2N1cmxdIFJFR1JFU1NJT04ocjI4MTE1OCk6IGZldGNo
KCdodHRwOi8vbG9jYWxob3N0LycpIGZyb20gYWJvdXQ6YmxhbmsgZG9lc24ndCBlbWl0IHRoZSBj
b25zb2xlIGVycm9yIG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA0NWE1
NDg2ZTA1ODA1ZDk3YmMxZTQ4YjQ0ZjkzZGEzMDMyOGE2YTFkLi5mMDgwMzM1YWVlNzg4OGZmMTgx
NDg0Y2M2MzNlOGM3NGYyMjY3MTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMjEtMDgtMjcgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2Nv
bW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6XSk6CisgICAgICAgICgt
W1dlYlZpZXcgaW5pdFNpbXBsZUhUTUxEb2N1bWVudFdpdGhTdHlsZTpmcmFtZTpwcmVmZXJlbmNl
czpncm91cE5hbWU6XSk6CisKIDIwMjEtMDgtMjQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBbV0syXSBJbXBsZW1lbnQgcHJvY2Vzcy1zd2FwcGluZyBiYXNlZCBv
biBDcm9zcy1PcmlnaW4tT3BlbmVyLVBvbGljeSBIVFRQIGhlYWRlcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
Q2hhbmdlTG9nCmluZGV4IGUyODE1MTAyOThhOGM3MzY0MWRjNDA0OTU2OTdhMmRmNDVhNTEzY2Eu
LmJiNDRmNzYwNTJkMWQxNjdiZTg0YmYwM2Y0ODM4NDk3ZTk2ZDRiM2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wOC0yNyAgU2lodWkgTGl1ICA8
c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25z
IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5
MzM5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MjQ0MjIwNT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAo
V2ViVmlldzo6aW5pdFdpdGhGcmFtZSk6CisKIDIwMjEtMDgtMjQgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbV0syXSBJbXBsZW1lbnQgcHJvY2Vzcy1zd2FwcGlu
ZyBiYXNlZCBvbiBDcm9zcy1PcmlnaW4tT3BlbmVyLVBvbGljeSBIVFRQIGhlYWRlcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJp
bWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbAppbmRleCAxODVhNWFjMGY0NTRjNzZjMDM0NzkyYWQxODU3NjFm
Y2NhNjk0OTkxLi41NTU0NjAwZGJjNjY1OGZhMWNhYjJkMDU4Y2Q1MzVkYWY1MjkzMWM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBl
cmltZW50YWwueWFtbAorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJl
ZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbApAQCAtODgxLDYgKzg4MSwxOCBAQCBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nU2Vuc2l0aXZlUHJvcGVydGllc0VuYWJsZWQ6CiAgICAgV2ViQ29yZToK
ICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKK1Blcm1pc3Npb25zQVBJRW5hYmxlZDoKKyAgdHlwZTog
Ym9vbAorICBodW1hblJlYWRhYmxlTmFtZTogIlBlcm1pc3Npb25zIEFQSSIKKyAgaHVtYW5SZWFk
YWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFBlcm1pc3Npb25zIEFQSSIKKyAgZGVmYXVsdFZhbHVl
OgorICAgIFdlYktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0Ogor
ICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UK
KwogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREZWJ1Z01vZGVFbmFibGVkOgogICB0eXBlOiBib29s
CiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudCBEZWJ1ZyBN
b2RlIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBiYmI4NDJhNTM5YTEwODdjOWUxZGI0NjNkMDE5
ZGQyYjEyMzE0MmM5Li4wN2U1ZTA1NThmNmRkZDQxMWVjNGNmNTk2ZGUzNDNmNDgzYzA5NzdiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDgsNiArNDgsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRF
X0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9uYXZpZ2F0
b3Jjb250ZW50dXRpbHMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbm90aWZpY2F0aW9u
cyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9wYXltZW50cmVxdWVzdCIKKyAgICAiJHtX
RUJDT1JFX0RJUn0vTW9kdWxlcy9wZXJtaXNzaW9ucyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9k
dWxlcy9waWN0dXJlaW5waWN0dXJlIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3BsdWdp
bnMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcmVtb3RlcGxheWJhY2siCkBAIC0yMDEs
NiArMjAyLDcgQEAgc2V0KFdlYkNvcmVfSURMX0lOQ0xVREVTCiAgICAgTW9kdWxlcy9tb2RlbC1l
bGVtZW50CiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zCiAgICAgTW9kdWxlcy9wYXltZW50cmVx
dWVzdAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMKICAgICBNb2R1bGVzL3NwZWVjaAogICAgIE1v
ZHVsZXMvc3RyZWFtcwogICAgIE1vZHVsZXMvd2ViYXVkaW8KQEAgLTQ2MCw2ICs0NjIsMTMgQEAg
c2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0
L1BheW1lbnRTaGlwcGluZ1R5cGUuaWRsCiAgICAgTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXlt
ZW50VmFsaWRhdGlvbkVycm9ycy5pZGwKIAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdh
dG9yK1Blcm1pc3Npb25zLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRl
c2NyaXB0b3IuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwK
KyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwKKyAgICBNb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9ucy5pZGwKKwogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVu
dCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1
bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGljdHVy
ZWlucGljdHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDM5YjJiMzAwNGU0YzU3
OTQzN2U2NWFjYTk3MzI3Yzc4ZDRkNzQ1ZGUuLjUxMWI1MTMxMjAwYWJlYzgzYmU0OTA3YTdiZTQx
OTIzYTYyZjM2OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQu
eGNmaWxlbGlzdApAQCAtMzg4LDYgKzM4OCwxMiBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdUeXBlLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVycm9ycy5pZGwK
KyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25z
LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3Jp
cHRvci5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5h
bWUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1
cy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGljdHVy
ZUluUGljdHVyZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9E
b2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmlkbApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRl
eCAxOTY3MWY3NTA2ZDZhNzkzNzRjNWVhNDVhYzc3MWZjN2YxYjc5NTJiLi45YjQ4NGFiYTQ4YzJj
NWNmYzYwYWNlZWVjMjkzZWJjYTljMzk3MWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTM3Nyw2ICsxMzc3LDggQEAgJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFE
ZXZpY2VzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNOYXZpZ2F0b3IrTWVkaWFEZXZpY2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vzc2lvbi5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vzc2lv
bi5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmln
YXRvcitQZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTmF2aWdhdG9yK1Blcm1pc3Npb25zLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dlYkRyaXZlci5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dlYkRy
aXZlci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05h
dmlnYXRvcitXZWJYUi5jcHAKQEAgLTE1ODMsNiArMTU4NSwxNiBAQCAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZUNvbnN0cmFpbnRzLmNw
cAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2Rp
Y1dhdmVDb25zdHJhaW50cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuaAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uRGVzY3JpcHRv
ci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJtaXNzaW9uTmFtZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbk5hbWUuaAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdGUuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0ZS5o
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Np
b25TdGF0dXMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1Blcm1pc3Npb25TdGF0dXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5QaWN0
dXJlV2luZG93LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUGxheWJhY2tEaXJlY3Rpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRl
eCBkNjRlNjVlODZlNWUxMTQyNjY3YTllMzgyNzY4M2E5NjkyZjI3YWYxLi5mOWVlNjQyOGJhMGE1
NGQ1NGMwMjU3YWE2ZDZhMDAwMWUyZTQyMWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKQEAgLTMyNCw2ICszMjQsMTIgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ1R5cGUu
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFZhbGlk
YXRpb25FcnJvcnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2
aWdhdG9yK1Blcm1pc3Npb25zLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Bp
Y3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGljdHVyZUluUGljdHVyZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50K1BpY3R1
cmVJblBpY3R1cmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlucGljdHVy
ZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXgg
ZWIwN2I4MGM5OTMzZDY5YThjMzYzMTkxOGM3NWRiZTRlMzdhOTJiOC4uNzZjZTBjNjYxZmVlODMw
ZDE3NmUzNjFmNTc5ODczNWM3YWUxZTBjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMjksNiAr
MTI5LDEyIEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBNb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbi5oCiAgICAgTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oCiAKKyAgICBNb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgKKyAgICBNb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25OYW1lLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZl
ci5oCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaAorCiAgICAgTW9k
dWxlcy9wbHVnaW5zL1BsdWdpblJlcGxhY2VtZW50LmgKICAgICBNb2R1bGVzL3BsdWdpbnMvWW91
VHViZVBsdWdpblJlcGxhY2VtZW50LmgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjYwYjEyN2U3ZjNhMWM1NjY2Y2QwZDBjODhmZTkxMWU5NmM4MzRmNjUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJt
aXNzaW9ucy5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNj
LmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jbmF2aWdhdG9yLWFuZC13b3JrZXJuYXZpZ2F0b3ItZXh0
ZW5zaW9uCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorICAgIElt
cGxlbWVudGVkQnk9TmF2aWdhdG9yUGVybWlzc2lvbnMKK10gcGFydGlhbCBpbnRlcmZhY2UgTmF2
aWdhdG9yIHsKKyAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFBlcm1pc3Npb25z
IHBlcm1pc3Npb25zOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkxZjU1
NTg4NmQ4ZTcxYTM0OWVlNzViZjNjNDE2ZjAyZjFjNDdhYgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3Bw
CkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiTmF2aWdhdG9yUGVybWlzc2lvbnMuaCIKKworI2luY2x1ZGUgIk5hdmlnYXRvci5oIgor
I2luY2x1ZGUgIlBlcm1pc3Npb25zLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTmF2aWdh
dG9yUGVybWlzc2lvbnM6Ok5hdmlnYXRvclBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9y
KQorICAgIDogbV9uYXZpZ2F0b3IobmF2aWdhdG9yKQoreworfQorCitSZWZQdHI8UGVybWlzc2lv
bnM+IE5hdmlnYXRvclBlcm1pc3Npb25zOjpwZXJtaXNzaW9ucyhOYXZpZ2F0b3ImIG5hdmlnYXRv
cikKK3sKKyAgICByZXR1cm4gTmF2aWdhdG9yUGVybWlzc2lvbnM6OmZyb20obmF2aWdhdG9yKS0+
cGVybWlzc2lvbnMoKTsKK30KKworUmVmUHRyPFBlcm1pc3Npb25zPiBOYXZpZ2F0b3JQZXJtaXNz
aW9uczo6cGVybWlzc2lvbnMoKQoreworICAgIGlmICghbV9wZXJtaXNzaW9ucykKKyAgICAgICAg
bV9wZXJtaXNzaW9ucyA9IFBlcm1pc3Npb25zOjpjcmVhdGUobV9uYXZpZ2F0b3IpOworCisgICAg
cmV0dXJuIG1fcGVybWlzc2lvbnM7Cit9CisKK05hdmlnYXRvclBlcm1pc3Npb25zKiBOYXZpZ2F0
b3JQZXJtaXNzaW9uczo6ZnJvbShOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICBhdXRvKiBz
dXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8TmF2aWdhdG9yUGVybWlzc2lvbnMqPihTdXBwbGVtZW50
PE5hdmlnYXRvcj46OmZyb20oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSkpOworICAgIGlm
ICghc3VwcGxlbWVudCkgeworICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVl
PE5hdmlnYXRvclBlcm1pc3Npb25zPihuYXZpZ2F0b3IpOworICAgICAgICBzdXBwbGVtZW50ID0g
bmV3U3VwcGxlbWVudC5nZXQoKTsKKyAgICAgICAgcHJvdmlkZVRvKCZuYXZpZ2F0b3IsIHN1cHBs
ZW1lbnROYW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOworICAgIH0KKworICAgIHJldHVy
biBzdXBwbGVtZW50OworfQorCitjb25zdCBjaGFyKiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6c3Vw
cGxlbWVudE5hbWUoKQoreworICAgIHJldHVybiAiTmF2aWdhdG9yUGVybWlzc2lvbnMiOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBh
NzM5ZGE3MTQ0MGM3YTMzYjIzMmNhZTk4MzUyMDE5ZmRhNDQ0YwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMu
aApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
ICJTdXBwbGVtZW50YWJsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmln
YXRvcjsKK2NsYXNzIFBlcm1pc3Npb25zOworCitjbGFzcyBOYXZpZ2F0b3JQZXJtaXNzaW9ucyBm
aW5hbCA6IHB1YmxpYyBTdXBwbGVtZW50PE5hdmlnYXRvcj4geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworcHVibGljOgorICAgIGV4cGxpY2l0IE5hdmlnYXRvclBlcm1pc3Npb25zKE5h
dmlnYXRvciYpOworCisgICAgc3RhdGljIFJlZlB0cjxQZXJtaXNzaW9ucz4gcGVybWlzc2lvbnMo
TmF2aWdhdG9yJik7CisgICAgUmVmUHRyPFBlcm1pc3Npb25zPiBwZXJtaXNzaW9ucygpOworCitw
cml2YXRlOgorICAgIHN0YXRpYyBOYXZpZ2F0b3JQZXJtaXNzaW9ucyogZnJvbShOYXZpZ2F0b3Im
KTsKKyAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKKworICAgIFJlZlB0
cjxQZXJtaXNzaW9ucz4gbV9wZXJtaXNzaW9uczsKKyAgICBOYXZpZ2F0b3ImIG1fbmF2aWdhdG9y
OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uQ29udHJvbGxlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZhN2QzYWE2NGVmNjFlM2I0
NWU1Yzk0OTFlNmU5MzU1MTI1MzUzMWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgKQEAgLTAsMCArMSw1
NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVybWlzc2lvblN0
YXRlLmgiCisjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CisjaW5jbHVkZSA8d3Rm
L1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
UGVybWlzc2lvbk9ic2VydmVyOworc3RydWN0IENsaWVudE9yaWdpbjsKK3N0cnVjdCBQZXJtaXNz
aW9uRGVzY3JpcHRvcjsKKworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXIgOiBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8UGVybWlzc2lvbkNvbnRyb2xsZXI+IHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJtaXNzaW9uQ29udHJvbGxl
cigpID0gZGVmYXVsdDsKKyAgICB2aXJ0dWFsIFBlcm1pc3Npb25TdGF0ZSBxdWVyeShDbGllbnRP
cmlnaW4mJiwgUGVybWlzc2lvbkRlc2NyaXB0b3ImJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBy
ZXF1ZXN0KENsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFBlcm1pc3Npb25TdGF0ZSk+JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
YWRkT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBy
ZW1vdmVPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSA9IDA7Cit9OworCitjbGFzcyBEdW1t
eVBlcm1pc3Npb25Db250cm9sbGVyIGZpbmFsIDogcHVibGljIFBlcm1pc3Npb25Db250cm9sbGVy
IHsKKyAgICBQZXJtaXNzaW9uU3RhdGUgcXVlcnkoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25E
ZXNjcmlwdG9yJiYpIGZpbmFsIHsgcmV0dXJuIFBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkOyB9Cisg
ICAgdm9pZCByZXF1ZXN0KENsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFBlcm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRs
ZXIpIGZpbmFsIHsgY29tcGxldGlvbkhhbmRsZXIoUGVybWlzc2lvblN0YXRlOjpEZW5pZWQpOyB9
CisgICAgdm9pZCBhZGRPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSBmaW5hbCB7IH0KKyAg
ICB2b2lkIHJlbW92ZU9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpIGZpbmFsIHsgfQorfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRl
ODRiMmQ0Yzc3YTk4ZTk1YjY2NDk4ZGM0ZDBiMzhhOTA4OWUxZTUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9y
LmgKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSAiUGVybWlzc2lvbk5hbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUGVy
bWlzc2lvbkRlc2NyaXB0b3IgeworICAgIFBlcm1pc3Npb25OYW1lIG5hbWU7CisKKyAgICBib29s
IG9wZXJhdG9yPT0oY29uc3QgUGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IpIGNvbnN0
IHsgcmV0dXJuIG5hbWUgPT0gZGVzY3JpcHRvci5uYW1lOyB9CisgICAgdGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFBlcm1pc3Npb25EZXNjcmlwdG9yPiBkZWNv
ZGUoRGVjb2RlciYpOworfTsKKwordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gaW5saW5lIHZvaWQg
UGVybWlzc2lvbkRlc2NyaXB0b3I6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAorewor
ICAgIGVuY29kZXIgPDwgbmFtZTsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RkOjpv
cHRpb25hbDxQZXJtaXNzaW9uRGVzY3JpcHRvcj4gUGVybWlzc2lvbkRlc2NyaXB0b3I6OmRlY29k
ZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIFBlcm1pc3Npb25EZXNjcmlwdG9yIHJlc3VsdDsK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5uYW1lKSkKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGYzNmEzMmEyY2NjZDMzOTkz
OWI3ZGU4MzVkZmVkYmJmNGY1N2NjOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEs
MzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMv
I2RpY3RkZWYtcGVybWlzc2lvbmRlc2NyaXB0b3IKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9
UGVybWlzc2lvbnNBUEksCitdIGRpY3Rpb25hcnkgUGVybWlzc2lvbkRlc2NyaXB0b3IgeworICAg
IHJlcXVpcmVkIFBlcm1pc3Npb25OYW1lIG5hbWU7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMDll
MTkwZjIyNzU2ZWEyMTMwOTc1MDQyODNkNDkyNjNjN2M1NzEKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmgKQEAgLTAs
MCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2VudW0gY2xhc3MgUGVybWlzc2lvbk5hbWUgOiB1aW50OF90IHsKKyAgICBBY2NlbGVy
b21ldGVyLAorICAgIEJhY2tncm91bmRGZXRjaCwKKyAgICBCbHVldG9vdGgsCisgICAgQ2FtZXJh
LAorICAgIERpc3BsYXlDYXB0dXJlLAorICAgIEdlb2xvY2F0aW9uLAorICAgIEd5cm9zY29wZSwK
KyAgICBNYWduZXRvbWV0ZXIsCisgICAgTWljcm9waG9uZSwKKyAgICBNaWRpLAorICAgIE5mYywK
KyAgICBOb3RpZmljYXRpb25zLAorICAgIFNwZWFrZXJTZWxlY3Rpb24KK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVu
dW1UcmFpdHM8V2ViQ29yZTo6UGVybWlzc2lvbk5hbWU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBF
bnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZSwKKyAgICAgICAgV2Vi
Q29yZTo6UGVybWlzc2lvbk5hbWU6OkFjY2VsZXJvbWV0ZXIsCisgICAgICAgIFdlYkNvcmU6OlBl
cm1pc3Npb25OYW1lOjpCYWNrZ3JvdW5kRmV0Y2gsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Np
b25OYW1lOjpCbHVldG9vdGgsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpDYW1l
cmEsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpEaXNwbGF5Q2FwdHVyZSwKKyAg
ICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Okdlb2xvY2F0aW9uLAorICAgICAgICBXZWJD
b3JlOjpQZXJtaXNzaW9uTmFtZTo6R3lyb3Njb3BlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNz
aW9uTmFtZTo6TWFnbmV0b21ldGVyLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6
TWljcm9waG9uZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok1pZGksCisgICAg
ICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpOZmMsCisgICAgICAgIFdlYkNvcmU6OlBlcm1p
c3Npb25OYW1lOjpOb3RpZmljYXRpb25zLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFt
ZTo6U3BlYWtlclNlbGVjdGlvbgorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5h
bWUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFt
ZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZWQ4YmUwZmQ3NWMyY2NiN2Q4YWY5ZTliOTY2MTczZWY2MTg3ZDg2
YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbk5hbWUuaWRsCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRw
czovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1kZWYtcGVybWlzc2lvbm5hbWUKKwor
WworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCitdIGVudW0gUGVybWlzc2lv
bk5hbWUgeworICAgIC8vIEZJWE1FOiB1cGRhdGUgdGhlIGxpc3QgdG8gbWF0Y2ggc3BlYyB3aGVu
IG5ldyBmZWF0dXJlcyBhcmUgaW1wbGVtZW50ZWQuCisgICAgImFjY2VsZXJvbWV0ZXIiLAorICAg
ICJiYWNrZ3JvdW5kLWZldGNoIiwKKyAgICAiYmx1ZXRvb3RoIiwKKyAgICAiY2FtZXJhIiwKKyAg
ICAiZGlzcGxheS1jYXB0dXJlIiwKKyAgICAiZ2VvbG9jYXRpb24iLAorICAgICJneXJvc2NvcGUi
LAorICAgICJtYWduZXRvbWV0ZXIiLAorICAgICJtaWNyb3Bob25lIiwKKyAgICAibWlkaSIsCisg
ICAgIm5mYyIsCisgICAgIm5vdGlmaWNhdGlvbnMiLAorICAgICJzcGVha2VyLXNlbGVjdGlvbiIK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25PYnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uT2JzZXJ2ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTdkNmRhNTkxZDdkNjRhYmVhYjhjYmNiYTYz
YmMxYTFmMjViMGE4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uT2JzZXJ2ZXIuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdGUuaCIKKyNpbmNs
dWRlIDx3dGYvV2Vha1B0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBDbGll
bnRPcmlnaW47CitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7CisKK2NsYXNzIFBlcm1pc3Np
b25PYnNlcnZlciA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQZXJtaXNzaW9uT2JzZXJ2ZXI+IHsK
K3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJtaXNzaW9uT2JzZXJ2ZXIoKSA9IGRlZmF1bHQ7CisK
KyAgICB2aXJ0dWFsIHZvaWQgc3RhdGVDaGFuZ2VkKFBlcm1pc3Npb25TdGF0ZSkgPSAwOworICAg
IHZpcnR1YWwgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4oKSBjb25zdCA9IDA7CisgICAgdmly
dHVhbCBjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNvbnN0ID0gMDsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjYWRmNTIw
MWUwYzM3YjMwZjRiNzJlYTA4MDQwODU4NGI4ODg0ODQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCkBAIC0wLDAg
KzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9FbnVt
VHJhaXRzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBQZXJtaXNzaW9u
U3RhdGUgOiB1aW50OF90IHsKKyAgICBHcmFudGVkLAorICAgIERlbmllZCwKKyAgICBQcm9tcHQK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBs
YXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6UGVybWlzc2lvblN0YXRlPiB7CisgICAg
dXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0
YXRlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkdyYW50ZWQsCisgICAgICAg
IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkLAorICAgICAgICBXZWJDb3JlOjpQZXJt
aXNzaW9uU3RhdGU6OlByb21wdAorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXRlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43NTc3OTc4MTJkMTk4NjllZjNlNTFhMmRiOWVhOGE3YWYxNjhh
YzliCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uU3RhdGUuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBo
dHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1kZWYtcGVybWlzc2lvbnN0YXRl
CisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorXSBlbnVtIFBlcm1p
c3Npb25TdGF0ZSB7CisgICAgImdyYW50ZWQiLAorICAgICJkZW5pZWQiLAorICAgICJwcm9tcHQi
Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uU3RhdHVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvblN0YXR1cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2UyMzVmYzZlMDI4YjI2M2ZmYzQxNjlkODhi
MzAyNDQ1NTBkMzEyYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKQEAgLTAsMCArMSwxMDYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXR1cy5o
IgorCisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNp
bmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIK
KyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChQZXJtaXNzaW9uU3RhdHVzKTsKKworUmVm
PFBlcm1pc3Npb25TdGF0dXM+IFBlcm1pc3Npb25TdGF0dXM6OmNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBjb250ZXh0LCBQZXJtaXNzaW9uU3RhdGUgc3RhdGUsIFBlcm1pc3Npb25EZXNj
cmlwdG9yIGRlc2NyaXB0b3IpCit7CisgICAgYXV0byBzdGF0dXMgPSBhZG9wdFJlZigqbmV3IFBl
cm1pc3Npb25TdGF0dXMoY29udGV4dCwgc3RhdGUsIGRlc2NyaXB0b3IpKTsKKyAgICBzdGF0dXMt
PnN1c3BlbmRJZk5lZWRlZCgpOworICAgIHJldHVybiBzdGF0dXM7Cit9CisKK1Blcm1pc3Npb25T
dGF0dXM6OlBlcm1pc3Npb25TdGF0dXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
UGVybWlzc2lvblN0YXRlIHN0YXRlLCBQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yKQor
ICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwgbV9zdGF0ZShzdGF0ZSkKKyAg
ICAsIG1fZGVzY3JpcHRvcihkZXNjcmlwdG9yKQorICAgICwgbV9jb250cm9sbGVyKGNvbnRleHQu
cGVybWlzc2lvbkNvbnRyb2xsZXIoKSkKK3sKKyAgICBhdXRvKiBvcmlnaW4gPSBjb250ZXh0LnNl
Y3VyaXR5T3JpZ2luKCk7CisgICAgYXV0byBvcmlnaW5EYXRhID0gb3JpZ2luID8gb3JpZ2luLT5k
YXRhKCkgOiBTZWN1cml0eU9yaWdpbkRhdGEgeyB9OworICAgIG1fb3JpZ2luID0gQ2xpZW50T3Jp
Z2luIHsgY29udGV4dC50b3BPcmlnaW4oKS5kYXRhKCksIG9yaWdpbkRhdGEgfTsKK30KKworUGVy
bWlzc2lvblN0YXR1czo6flBlcm1pc3Npb25TdGF0dXMoKQoreworICAgIGlmIChtX2NvbnRyb2xs
ZXIpCisgICAgICAgIG1fY29udHJvbGxlci0+cmVtb3ZlT2JzZXJ2ZXIoKnRoaXMpOworfQorCit2
b2lkIFBlcm1pc3Npb25TdGF0dXM6OnN0YXRlQ2hhbmdlZChQZXJtaXNzaW9uU3RhdGUgbmV3U3Rh
dGUpCit7CisgICAgaWYgKG1fc3RhdGUgPT0gbmV3U3RhdGUpCisgICAgICAgIHJldHVybjsKKwor
ICAgIG1fc3RhdGUgPSBuZXdTdGF0ZTsKKyAgICBtX2hhc1BlbmRpbmdBY3Rpdml0eSA9IHRydWU7
CisgICAgcXVldWVUYXNrVG9EaXNwYXRjaEV2ZW50KCp0aGlzLCBUYXNrU291cmNlOjpQZXJtaXNz
aW9uLCBFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgRXZlbnQ6OkNhbkJ1
YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7Cit9CisKK2NvbnN0IGNoYXIqIFBl
cm1pc3Npb25TdGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAoreworICAgIHJldHVy
biAiUGVybWlzc2lvblN0YXR1cyI7Cit9CisKK2Jvb2wgUGVybWlzc2lvblN0YXR1czo6dmlydHVh
bEhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0Cit7CisgICAgaWYgKG1faGFzUGVuZGluZ0FjdGl2
aXR5KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlmIChtX2hhc1JlbGV2YW50RXZlbnRM
aXN0ZW5lcikgeworICAgICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpOworICAgICAgICBpZiAoY29udGV4dCAmJiBjb250ZXh0LT5pc0RvY3VtZW50KCkpCisgICAg
ICAgICAgICByZXR1cm4gZG93bmNhc3Q8RG9jdW1lbnQ+KCpjb250ZXh0KS5oYXNCcm93c2luZ0Nv
bnRleHQoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNl
OworfQorCit2b2lkIFBlcm1pc3Npb25TdGF0dXM6OmRpc3BhdGNoRXZlbnQoRXZlbnQmIGV2ZW50
KQoreworICAgIGlmIChtX2hhc1BlbmRpbmdBY3Rpdml0eSAmJiBldmVudC5pc1RydXN0ZWQoKSkK
KyAgICAgICAgbV9oYXNQZW5kaW5nQWN0aXZpdHkgPSBmYWxzZTsKKworICAgIEV2ZW50VGFyZ2V0
OjpkaXNwYXRjaEV2ZW50KGV2ZW50KTsKK30KKwordm9pZCBQZXJtaXNzaW9uU3RhdHVzOjpldmVu
dExpc3RlbmVyc0RpZENoYW5nZSgpCit7CisgICAgbV9oYXNSZWxldmFudEV2ZW50TGlzdGVuZXIg
PSBoYXNFdmVudExpc3RlbmVycyhldmVudE5hbWVzKCkuY2hhbmdlRXZlbnQpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3MmJkNWE3MjA5NWI0Njdi
YzY3ZmIyZDBkNDZiZjM3MzhiYjliMGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaApAQCAtMCwwICsxLDg0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJBY3RpdmVET01PYmplY3Qu
aCIKKyNpbmNsdWRlICJDbGllbnRPcmlnaW4uaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgor
I2luY2x1ZGUgIlBlcm1pc3Npb25EZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbk5h
bWUuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJQZXJtaXNz
aW9uU3RhdGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQZXJtaXNzaW9uQ29u
dHJvbGxlcjsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIFBlcm1pc3Np
b25TdGF0dXMgZmluYWwgOiBwdWJsaWMgUGVybWlzc2lvbk9ic2VydmVyLCBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0LCBwdWJsaWMgUmVmQ291bnRlZDxQZXJtaXNzaW9uU3RhdHVzPiwgcHVibGljIEV2
ZW50VGFyZ2V0V2l0aElubGluZURhdGEgIHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFBl
cm1pc3Npb25TdGF0dXMpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UGVybWlzc2lvblN0YXR1
cz4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBQZXJtaXNzaW9uU3RhdGUsIFBlcm1p
c3Npb25EZXNjcmlwdG9yKTsKKyAgICB+UGVybWlzc2lvblN0YXR1cygpOworCisgICAgUGVybWlz
c2lvblN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZTsgfQorICAgIFBlcm1pc3Np
b25OYW1lIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX2Rlc2NyaXB0b3IubmFtZTsgfQorCisgICAg
dXNpbmcgUmVmQ291bnRlZDo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOworCisg
ICAgdXNpbmcgUGVybWlzc2lvbk9ic2VydmVyOjp3ZWFrUHRyRmFjdG9yeTsKKyAgICB1c2luZyBX
ZWFrVmFsdWVUeXBlID0gUGVybWlzc2lvbk9ic2VydmVyOjpXZWFrVmFsdWVUeXBlOworCitwcml2
YXRlOgorICAgIFBlcm1pc3Npb25TdGF0dXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFBlcm1p
c3Npb25TdGF0ZSwgUGVybWlzc2lvbkRlc2NyaXB0b3IpOworCisgICAgLy8gUGVybWlzc2lvbk9i
c2VydmVyCisgICAgdm9pZCBzdGF0ZUNoYW5nZWQoUGVybWlzc2lvblN0YXRlKSBmaW5hbDsKKyAg
ICBjb25zdCBDbGllbnRPcmlnaW4mIG9yaWdpbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fb3Jp
Z2luOyB9CisgICAgY29uc3QgUGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX2Rlc2NyaXB0b3I7IH0KKworICAgIC8vIEFjdGl2ZURPTU9iamVj
dAorICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKKyAg
ICBib29sIHZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBmaW5hbDsKKworICAgIC8v
IEV2ZW50VGFyZ2V0CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6c2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CisgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJ
bnRlcmZhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiBQZXJtaXNzaW9uU3RhdHVzRXZlbnRUYXJn
ZXRJbnRlcmZhY2VUeXBlOyB9CisgICAgdm9pZCByZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVm
KCk7IH0KKyAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KKyAg
ICB2b2lkIGRpc3BhdGNoRXZlbnQoRXZlbnQmKSBvdmVycmlkZTsKKyAgICB2b2lkIGV2ZW50TGlz
dGVuZXJzRGlkQ2hhbmdlKCkgb3ZlcnJpZGU7CisKKyAgICBQZXJtaXNzaW9uU3RhdGUgbV9zdGF0
ZTsKKyAgICBQZXJtaXNzaW9uRGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7CisgICAgQ2xpZW50T3Jp
Z2luIG1fb3JpZ2luOworICAgIFJlZlB0cjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gbV9jb250cm9s
bGVyOworICAgIGJvb2wgbV9oYXNQZW5kaW5nQWN0aXZpdHkgeyBmYWxzZSB9OworICAgIHN0ZDo6
YXRvbWljPGJvb2w+IG1faGFzUmVsZXZhbnRFdmVudExpc3RlbmVyOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGI3ODE0MmU2OTllMjBlNmJl
ODZjYzVjZTIwNTZkMWRlYjY5MmVkMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwKQEAgLTAsMCArMSwzNiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisgCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI3Bl
cm1pc3Npb25zdGF0dXMKKworWworICAgIEFjdGl2ZURPTU9iamVjdCwKKyAgICBFbmFibGVkQnlT
ZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpCitdIGlu
dGVyZmFjZSBQZXJtaXNzaW9uU3RhdHVzIDogRXZlbnRUYXJnZXQgeworICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBQZXJtaXNzaW9uU3RhdGUgc3RhdGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFBl
cm1pc3Npb25OYW1lIG5hbWU7CisgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmNoYW5nZTsK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bnMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJhZDM0Yzk0YWIzNDc3MmM3ZWI2NjY3MmRhMmMwODY2ZDE4Yjkz
ODgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25zLmNwcApAQCAtMCwwICsxLDk0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25zLmgiCisKKyNpbmNsdWRlICJFeGNlcHRp
b24uaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVk
LmgiCisjaW5jbHVkZSAiSlNQZXJtaXNzaW9uRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIkpTUGVy
bWlzc2lvblN0YXR1cy5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1ZGUgIlBhZ2Uu
aCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIlBlcm1pc3Np
b25EZXNjcmlwdG9yLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUGVybWlzc2lv
bnMpOworCitSZWY8UGVybWlzc2lvbnM+IFBlcm1pc3Npb25zOjpjcmVhdGUoTmF2aWdhdG9yJiBu
YXZpZ2F0b3IpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVybWlzc2lvbnMobmF2aWdh
dG9yKSk7Cit9CisKK1Blcm1pc3Npb25zOjpQZXJtaXNzaW9ucyhOYXZpZ2F0b3ImIG5hdmlnYXRv
cikKKyAgICA6IG1fbmF2aWdhdG9yKG1ha2VXZWFrUHRyKG5hdmlnYXRvcikpCit7CisgICAgaWYg
KGF1dG8gY29udGV4dCA9IG5hdmlnYXRvci5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCisgICAg
ICAgIG1fY29udHJvbGxlciA9IGNvbnRleHQtPnBlcm1pc3Npb25Db250cm9sbGVyKCk7Cit9CisK
K05hdmlnYXRvciogUGVybWlzc2lvbnM6Om5hdmlnYXRvcigpCit7CisgICAgcmV0dXJuIG1fbmF2
aWdhdG9yLmdldCgpOworfQorCit2b2lkIFBlcm1pc3Npb25zOjpxdWVyeShKU0M6OlN0cm9uZzxK
U0M6OkpTT2JqZWN0PiBwZXJtaXNzaW9uRGVzY3JpcHRvclZhbHVlLCBET01Qcm9taXNlRGVmZXJy
ZWQ8SURMSW50ZXJmYWNlPFBlcm1pc3Npb25TdGF0dXM+PiYmIHByb21pc2UpCit7CisgICAgLy8g
RklYTUU6IHN1cHBvcnQgcGVybWlzc2lvbnMgaW4gV29ya2VyTmF2aWdhdG9yLgorICAgIGlmICgh
bV9jb250cm9sbGVyKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IE5vdFN1
cHBvcnRlZEVycm9yIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byBjb250
ZXh0ID0gbV9uYXZpZ2F0b3IgPyBtX25hdmlnYXRvci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
IDogbnVsbHB0cjsKKyAgICBpZiAoIWNvbnRleHQgfHwgIWNvbnRleHQtPmdsb2JhbE9iamVjdCgp
KSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9y
LCAiVGhlIGNvbnRleHQgaXMgaW52YWxpZCIgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBpZiAoIXBlcm1pc3Npb25EZXNjcmlwdG9yVmFsdWUpIHsKKyAgICAgICAgcHJvbWlzZS5y
ZWplY3QoRXhjZXB0aW9uIHsgRGF0YUVycm9yLCAiVGhlIHBhcmFtZXRlciBpcyBpbnZhbGlkIl9z
IH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgSlNDOjpWTSYgdm0gPSBjb250ZXh0
LT5nbG9iYWxPYmplY3QoKS0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRSh2bSk7CisgICAgYXV0byBwYXJhbWV0ZXJEZXNjcmlwdG9yID0gY29udmVydDxJRExEaWN0
aW9uYXJ5PFBlcm1pc3Npb25EZXNjcmlwdG9yPj4oKmNvbnRleHQtPmdsb2JhbE9iamVjdCgpLCBw
ZXJtaXNzaW9uRGVzY3JpcHRvclZhbHVlLmdldCgpKTsKKyAgICBpZiAoVU5MSUtFTFkoc2NvcGUu
ZXhjZXB0aW9uKCkpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEV4aXN0
aW5nRXhjZXB0aW9uRXJyb3IgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRv
KiBvcmlnaW4gPSBjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpOworICAgIGF1dG8gb3JpZ2luRGF0
YSA9IG9yaWdpbiA/IG9yaWdpbi0+ZGF0YSgpIDogU2VjdXJpdHlPcmlnaW5EYXRhIHsgfTsKKyAg
ICBhdXRvIHBlcm1pc3Npb25TdGF0ZSA9IG1fY29udHJvbGxlci0+cXVlcnkoQ2xpZW50T3JpZ2lu
IHsgY29udGV4dC0+dG9wT3JpZ2luKCkuZGF0YSgpLCBvcmlnaW5EYXRhIH0sIFBlcm1pc3Npb25E
ZXNjcmlwdG9yIHsgcGFyYW1ldGVyRGVzY3JpcHRvciB9KTsKKyAgICBwcm9taXNlLnJlc29sdmUo
UGVybWlzc2lvblN0YXR1czo6Y3JlYXRlKCpjb250ZXh0LCBwZXJtaXNzaW9uU3RhdGUsIHBhcmFt
ZXRlckRlc2NyaXB0b3IpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdhMzhmZjM0OGZlNDY5M2YwMjA4NDk5MjFmNWRhOTQ2NDIxOGYxMDMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmgKQEAg
LTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiSURM
VHlwZXMuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJvbmcuaD4KKyNpbmNsdWRlIDx3
dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKworbmFtZXNwYWNlIEpT
QyB7CitjbGFzcyBKU09iamVjdDsKK30gLy8gbmFtZXNwYWNlIEpTQworCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIE5hdmlnYXRvcjsKK2NsYXNzIFBlcm1pc3Npb25Db250cm9sbGVyOwor
Y2xhc3MgUGVybWlzc2lvblN0YXR1czsKKwordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xh
c3MgRE9NUHJvbWlzZURlZmVycmVkOworCitjbGFzcyBQZXJtaXNzaW9ucyBmaW5hbCA6IHB1Ymxp
YyBSZWZDb3VudGVkPFBlcm1pc3Npb25zPiB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChQ
ZXJtaXNzaW9ucyk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJtaXNzaW9ucz4gY3JlYXRl
KE5hdmlnYXRvciYpOworCisgICAgTmF2aWdhdG9yKiBuYXZpZ2F0b3IoKTsKKyAgICB2b2lkIHF1
ZXJ5KEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50
ZXJmYWNlPFBlcm1pc3Npb25TdGF0dXM+PiYmKTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBQ
ZXJtaXNzaW9ucyhOYXZpZ2F0b3ImKTsKKworICAgIFdlYWtQdHI8TmF2aWdhdG9yPiBtX25hdmln
YXRvcjsKKyAgICBSZWZQdHI8UGVybWlzc2lvbkNvbnRyb2xsZXI+IG1fY29udHJvbGxlcjsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY4YWE2MTJhNTA3YjM4
MDU0MGE2NzBiZTY0NWFiNjZlZjQzODFkZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCkBAIC0wLDAgKzEsMzUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI3Blcm1p
c3Npb25zLWludGVyZmFjZQorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQ
SSwKKyAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPVJlYWNoYWJsZUZyb21OYXZpZ2F0b3IsCisgICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKQor
XSBpbnRlcmZhY2UgUGVybWlzc2lvbnMgeworICAgIFByb21pc2U8UGVybWlzc2lvblN0YXR1cz4g
cXVlcnkob2JqZWN0IHBlcm1pc3Npb25EZXNjKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDZkNTlk
YzNmZDg3ODRhYzM1NzYwYWRkZjVkOTIwNThkMjU4NGQwN2IuLjg5MTA1NDk3MzE5YTZiMDRlMThm
ZTUyZTQ1MWVkNGVlOWE0ZjE1MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yMDMsNiArMjAzLDkgQEAg
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKIE1vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5jcHAKIE1vZHVsZXMvcGF5bWVudHJl
cXVlc3QvUGF5bWVudFJlcXVlc3RVdGlsaXRpZXMuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0
L1BheW1lbnRSZXNwb25zZS5jcHAKK01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlz
c2lvbnMuY3BwCitNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuY3BwCitNb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJl
L0RvY3VtZW50UGljdHVyZUluUGljdHVyZS5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9F
bnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9I
VE1MVmlkZW9FbGVtZW50UGljdHVyZUluUGljdHVyZS5jcHAKQEAgLTMyNzIsNiArMzI3NSwxMSBA
QCBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcAogSlNQZXJpb2RpY1dhdmUuY3BwCiBKU1BlcmlvZGlj
V2F2ZUNvbnN0cmFpbnRzLmNwcAogSlNQZXJpb2RpY1dhdmVPcHRpb25zLmNwcAorSlNQZXJtaXNz
aW9uRGVzY3JpcHRvci5jcHAKK0pTUGVybWlzc2lvbk5hbWUuY3BwCitKU1Blcm1pc3Npb25TdGF0
ZS5jcHAKK0pTUGVybWlzc2lvblN0YXR1cy5jcHAKK0pTUGVybWlzc2lvbnMuY3BwCiBKU1BpY3R1
cmVJblBpY3R1cmVXaW5kb3cuY3BwCiBKU1BsYXliYWNrRGlyZWN0aW9uLmNwcAogSlNQb2ludGVy
RXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggZDBhYTBlOGQyYjliOTEwNzNiOTgzYTY4Y2Y1OWY3ZTY2YTJhNTM3NS4u
MzZhZGVlZDQ5ZDEwZjg3YTYxODFkODMyODNlYjg3NjQ4NDhhZGRkZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjg4MCw2ICsy
ODgwLDE0IEBACiAJCTkzQTgwNjE3MUUwM0I1MUMwMDhBMUYyNiAvKiBMb25nUmFuZ2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTgwNjEzMUUwM0I1
MUMwMDhBMUYyNiAvKiBMb25nUmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk5M0E4MDYxRTFFMDNCNTg1MDA4QTFGMjYgLyogSlNEb3VibGVS
YW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNB
ODA2MUExRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCAqLzsgfTsKIAkJOTNBODA2
MjAxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9uZ1JhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4MDYxQzFFMDNCNTg1MDA4QTFGMjYgLyogSlNM
b25nUmFuZ2UuaCAqLzsgfTsKKwkJOTNCMEE2NTMyNkNERDE0MTAwQUEyMUU0IC8qIE5hdmlnYXRv
clBlcm1pc3Npb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5M0IwQTY0QTI2Q0REMTNFMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCAq
LzsgfTsKKwkJOTNCMEE2NTQyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY0QjI2Q0REMTNF
MDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCAqLzsgfTsKKwkJOTNCMEE2NTYyNkNERDE0MTAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzQjBBNjREMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3Rh
dHVzLmggKi87IH07CisJCTkzQjBBNjU3MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVz
Y3JpcHRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTNCMEE2NEUyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNCMEE2NTkyNkNE
RDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY1MDI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlz
c2lvbk5hbWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk5M0IwQTY1QjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY1MjI2Q0REMTQx
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNCMEE2NzAyNkQ0QjUzOTAwQUEyMUU0IC8qIFBlcm1p
c3Npb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5M0IwQTY2OTI2RDQ0QjdGMDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5M0Iw
QTY3QTI2RDZBNEU5MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY2RjI2RDRCNTI5MDBBQTIx
RTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNCMkQ4MTYwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRl
cm1pbmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5M0IyRDgxNTBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0IzOEVDMzI1ODIx
REI0MDAxOThFNjMgLyogV2ViU3BlZWNoUmVjb2duaXplclRhc2suaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjM4RUJBMjU4MjE5M0IwMDE5OEU2MyAv
KiBXZWJTcGVlY2hSZWNvZ25pemVyVGFzay5oICovOyB9OwogCQk5M0IzOEVDNDI1ODIxREI3MDAx
OThFNjMgLyogV2ViU3BlZWNoUmVjb2duaXplclRhc2tNb2NrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IzOEVCQjI1ODIxOTNEMDAxOThFNjMgLyog
V2ViU3BlZWNoUmVjb2duaXplclRhc2tNb2NrLmggKi87IH07CkBAIC0xMTcwMSw2ICsxMTcwOSwy
MyBAQAogCQk5M0E4MDYxQTFFMDNCNTg1MDA4QTFGMjYgLyogSlNEb3VibGVSYW5nZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RvdWJsZVJhbmdlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTkzQTgwNjFCMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5n
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0xvbmdSYW5nZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQTgwNjFDMUUwM0I1ODUwMDhBMUYy
NiAvKiBKU0xvbmdSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0xv
bmdSYW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0NDI2Q0RDNUI2
MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQ
ZXJtaXNzaW9uU3RhdGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0
NTI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFBlcm1pc3Npb25EZXNjcmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTNCMEE2NDYyNkNEQzVCNzAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9uTmFtZS5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ3MjZDREM1QjcwMEFBMjFFNCAvKiBOYXZpZ2F0b3Ir
UGVybWlzc2lvbnMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJOYXZpZ2F0b3IrUGVybWlz
c2lvbnMuaWRsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDgyNkNEQzVC
NzAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJt
aXNzaW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ5MjZDREM1
QjgwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBQZXJtaXNzaW9uU3RhdHVzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNC
MEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRvclBlcm1pc3Npb25zLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRCMjZDREQxM0UwMEFBMjFFNCAvKiBQZXJtaXNz
aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9ucy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0QzI2Q0REMTNFMDBBQTIxRTQgLyog
TmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk5M0IwQTY0RDI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uU3RhdHVzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNz
aW9uRGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0RjI2
Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBQZXJtaXNzaW9uU3RhdHVzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NTAyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1l
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25OYW1lLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjUxMjZDREQxNDAwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJt
aXNzaW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjUyMjZDREQx
NDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGVybWlzc2lvblN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTkzQjBBNjY5MjZENDRCN0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQZXJtaXNzaW9uQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk5M0IwQTY2RjI2RDRCNTI5MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25PYnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5M0IyRDgxNTBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3VkZGVuVGVybWluYXRpb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMkQ4MTcwRjk5MjBFRTAwNkFFNkIyIC8q
IFN1ZGRlblRlcm1pbmF0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gU3VkZGVuVGVybWluYXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTkzQjM4RUI4MjU4MjE4OTkwMDE5OEU2MyAvKiBTcGVlY2hSZWNvZ25pemVyQ29jb2EubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTcGVlY2hSZWNvZ25pemVyQ29j
b2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzE4NSw2ICsyMzIxMCwzMCBA
QAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTkz
QjBBNjQyMjZDREM1NzQwMEFBMjFFNCAvKiBwZXJtaXNzaW9ucyAqLyA9IHsKKwkJCWlzYSA9IFBC
WEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJOTNCMEE2NDcyNkNEQzVCNzAwQUEyMUU0IC8q
IE5hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgKi8sCisJCQkJOTNCMEE2NEMyNkNERDEzRTAwQUEy
MUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmNwcCAqLywKKwkJCQk5M0IwQTY0QTI2Q0REMTNF
MDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCAqLywKKwkJCQk5M0IwQTY2OTI2RDQ0
QjdGMDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLywKKwkJCQk5M0IwQTY0RTI2
Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCAqLywKKwkJCQk5M0IwQTY0
NTI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsICovLAorCQkJCTkz
QjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oICovLAorCQkJCTkzQjBB
NjQ2MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5pZGwgKi8sCisJCQkJOTNCMEE2
NkYyNkQ0QjUyOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oICovLAorCQkJCTkzQjBB
NjUxMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5jcHAgKi8sCisJCQkJOTNCMEE2NEIy
NkNERDEzRTAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmggKi8sCisJCQkJOTNCMEE2NDgyNkNEQzVC
NzAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmlkbCAqLywKKwkJCQk5M0IwQTY1MjI2Q0REMTQxMDBB
QTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggKi8sCisJCQkJOTNCMEE2NDQyNkNEQzVCNjAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5pZGwgKi8sCisJCQkJOTNCMEE2NEYyNkNERDE0MDAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuY3BwICovLAorCQkJCTkzQjBBNjREMjZDREQxM0YwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggKi8sCisJCQkJOTNCMEE2NDkyNkNEQzVCODAwQUEy
MUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaWRsICovLAorCQkJKTsKKwkJCXBhdGggPSBwZXJtaXNz
aW9uczsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTkzQjM4RUI2MjU4MjE4
MzMwMDE5OEU2MyAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCkBAIC0yMzc5MCw2ICsyMzgzOSw3IEBACiAJCQkJNzFENkFBMzkxREE0RUFGNzAwQjIz
OTY5IC8qIG1vZGVybi1tZWRpYS1jb250cm9scyAqLywKIAkJCQkzMzNGNzAzRDBGQjQ5QzE2MDA4
RTEyQTYgLyogbm90aWZpY2F0aW9ucyAqLywKIAkJCQlBMUY3NkIwRTFGNDRDMENGMDAxNEMzMTgg
LyogcGF5bWVudHJlcXVlc3QgKi8sCisJCQkJOTNCMEE2NDIyNkNEQzU3NDAwQUEyMUU0IC8qIHBl
cm1pc3Npb25zICovLAogCQkJCTFERUYwNkEyMjMzQzMyREIwMEVFMjI4RCAvKiBwaWN0dXJlaW5w
aWN0dXJlICovLAogCQkJCTA3MkFFMURFMTgzQzA1MTMwMDBBNTk4OCAvKiBwbHVnaW5zICovLAog
CQkJCUNEQzMxMkUwMjJGQ0QwQjAwMDEyMDRFQyAvKiByZW1vdGVwbGF5YmFjayAqLywKQEAgLTMz
NzU3LDYgKzMzODA3LDcgQEAKIAkJCQk2QjUwN0EyNDIzNEJGMzQxMDBCRTdDNjIgLyogTmF2aWdh
dG9ySXNMb2dnZWRJbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUVBNzI1RDYxQUNBQkQ1NzAwRUFE
MTdCIC8qIE5hdmlnYXRvck1lZGlhRGV2aWNlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc3QkE1
NzIyNjBGQTAxNDAwNzJGMTlGIC8qIE5hdmlnYXRvck1lZGlhU2Vzc2lvbi5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJOTNCMEE2NTMyNkNERDE0MTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25z
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTZFNTlERjFERjAxMjhEMDA2NjEyQjkgLyogTmF2aWdh
dG9yV2ViRHJpdmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI3ODI0MTMxOTFGMDBFNzk0
RDYgLyogTmF2aWdhdG9yV2ViWFIuaCBpbiBIZWFkZXJzICovLAogCQkJCThBMzA5QzlGMTIzOTUw
QkUwMENCOTIwNCAvKiBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oIGluIEhlYWRlcnMgKi8sCkBA
IC0zMzk1Niw2ICszNDAwNywxMyBAQAogCQkJCUZENTgxRkI1MTUyMEY5M0IwMDNBN0E3NSAvKiBQ
ZXJpb2RpY1dhdmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUU3NTVFODkyMjRDNzQzNEIwMDlGN0My
MyAvKiBQZXJpb2RpY1dhdmVDb25zdHJhaW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTc1NUU4
OTkyNEM3NDYxRDAwOUY3QzIzIC8qIFBlcmlvZGljV2F2ZU9wdGlvbnMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTkzQjBBNjcwMjZENEI1MzkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTcyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Np
b25EZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1OTI2Q0REMTQxMDBBQTIx
RTQgLyogUGVybWlzc2lvbk5hbWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjdBMjZENkE0
RTkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTkz
QjBBNjU0MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJOTNCMEE2NUIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJOTNCMEE2NTYyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RDVEQzJFMEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVj
dGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMURCQzFCNTYyMzQ3
QjNEMjAwQjkwMUFGIC8qIFBpY3R1cmVJblBpY3R1cmVPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMUQyQzgyQjcyMzZBM0Y2QTAwNTVENkM1IC8qIFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0
LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaAppbmRleCBmMTgxYzc5NmQ2NTBjYzg2ZmUzZjA4YTcyMDA3YTZlZGMy
ZWZiYzc4Li44NTFhMjE0YzlhNDg3ZmY2OGQxNmJlN2RkOGZiYjUyMDg4N2ViOTFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0x
NTQsNiArMTU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKE1vY2tSVENSdHBU
cmFuc2Zvcm0pIFwKICAgICBtYWNybyhOYXZpZ2F0b3JDcmVkZW50aWFscykgXAogICAgIG1hY3Jv
KE5hdmlnYXRvck1lZGlhRGV2aWNlcykgXAorICAgIG1hY3JvKE5hdmlnYXRvclBlcm1pc3Npb25z
KSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yVXNlck1lZGlhKSBcCiAgICAgbWFjcm8oT2ZmbGluZUF1
ZGlvQ29udGV4dCkgXAogICAgIG1hY3JvKE9mZnNjcmVlbkNhbnZhcykgXApAQCAtMTgyLDYgKzE4
Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhQZXJmb3JtYW5jZVBhaW50VGlt
aW5nKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZykgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlU2VydmVyVGltaW5nKSBcCisgICAgbWFjcm8oUGVybWlzc2lvbkRlc2NyaXB0
b3IpIFwKKyAgICBtYWNybyhQZXJtaXNzaW9uU3RhdHVzKSBcCisgICAgbWFjcm8oUGVybWlzc2lv
bnMpIFwKICAgICBtYWNybyhQb2ludGVyRXZlbnQpIFwKICAgICBtYWNybyhQdWJsaWNLZXlDcmVk
ZW50aWFsKSBcCiAgICAgbWFjcm8oUmVzaXplT2JzZXJ2ZXIpIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCmluZGV4IDY1Y2ZiZjhiNzk1ZDYzZDNjOTk5ZDAxZDliMzg0YjIwNTAwOWQ0NjQuLjQ1NDE1
NmFjOWVmYTc1MjIyNWNjYjFhOWM0ZGYzNmQxYjc1ZDM5OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtMzU1NCw2ICszNTU0LDExIEBAIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5
KiBEb2N1bWVudDo6aWRiQ29ubmVjdGlvblByb3h5KCkKICAgICByZXR1cm4gbV9pZGJDb25uZWN0
aW9uUHJveHkuZ2V0KCk7CiB9CiAKK1JlZlB0cjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gRG9jdW1l
bnQ6OnBlcm1pc3Npb25Db250cm9sbGVyKCkKK3sKKyAgICByZXR1cm4gcGFnZSgpID8gJnBhZ2Uo
KS0+cGVybWlzc2lvbkNvbnRyb2xsZXIoKSA6IG51bGxwdHI7Cit9CisKIFNvY2tldFByb3ZpZGVy
KiBEb2N1bWVudDo6c29ja2V0UHJvdmlkZXIoKQogewogICAgIHJldHVybiBtX3NvY2tldFByb3Zp
ZGVyLmdldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA0YzI5NWQ0NThmMWFlMDYxNzlhNTQ2
Yjk0ZGIzODA3NzI2NTRjMWM1Li4zZDQ2NWIzYzQ4YjIxMjI4ZTZkYWExOGE3OTJkMmQzMzRmOGUx
OTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNzAxLDYgKzcwMSw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGRpc2FibGVXZWJBc3NlbWJseShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkgZmlu
YWw7CiAKICAgICBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogaWRiQ29ubmVjdGlvblBy
b3h5KCkgZmluYWw7CisgICAgUmVmUHRyPFBlcm1pc3Npb25Db250cm9sbGVyPiBwZXJtaXNzaW9u
Q29udHJvbGxlcigpIGZpbmFsOwogICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcigp
IGZpbmFsOwogICAgIFJlZlB0cjxSVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9u
PiBjcmVhdGVSVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uKCkgZmluYWw7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4gYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCmluZGV4IDVlNThmMTExNjY3
ZWY2MjEwZDUzMTEwZDdiNTRhODAyYzg0Mzk1ZDguLjAxM2NlZDA5NDZmZmNkNTI1OWZhMjUwYjE2
MDNhMThlNDU5ZTQ1OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dEZhY3RvcnkuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5p
bgpAQCAtMzUsNiArMzUsNyBAQCBPZmZzY3JlZW5DYW52YXMgY29uZGl0aW9uYWw9T0ZGU0NSRUVO
X0NBTlZBUwogUGF5bWVudFJlcXVlc3QgY29uZGl0aW9uYWw9UEFZTUVOVF9SRVFVRVNUCiBQYXlt
ZW50UmVzcG9uc2UgY29uZGl0aW9uYWw9UEFZTUVOVF9SRVFVRVNUCiBQZXJmb3JtYW5jZQorUGVy
bWlzc2lvblN0YXR1cwogUGljdHVyZUluUGljdHVyZVdpbmRvdyBjb25kaXRpb25hbD1QSUNUVVJF
X0lOX1BJQ1RVUkVfQVBJCiBSZW1vdGVQbGF5YmFjayBjb25kaXRpb25hbD1XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQKIFJUQ0RhdGFDaGFubmVsIGNvbmRpdGlvbmFsPVdFQl9SVEMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGQ0YmI4ZTE5YWU3OGY3
ZTgxYTZjYjYxZmI2ZTU1MjNjMTA0YzRkZGUuLjFlY2JjMTM3OWI5YTVhNjg3Njg1NjJkZTgwNmE2
M2I2ZDVmYzAxZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAj
aW5jbHVkZSAiRE9NVGltZXIuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgog
I2luY2x1ZGUgIlJUQ0RhdGFDaGFubmVsUmVtb3RlSGFuZGxlckNvbm5lY3Rpb24uaCIKICNpbmNs
dWRlICJSZXNvdXJjZUxvYWRlck9wdGlvbnMuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllci5oIgpAQCAtMTE1LDYgKzExNiw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgZGlzYWJsZVdlYkFzc2VtYmx5KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKSA9
IDA7CiAKICAgICB2aXJ0dWFsIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBpZGJDb25u
ZWN0aW9uUHJveHkoKSA9IDA7CisgICAgdmlydHVhbCBSZWZQdHI8UGVybWlzc2lvbkNvbnRyb2xs
ZXI+IHBlcm1pc3Npb25Db250cm9sbGVyKCkgeyByZXR1cm4gbnVsbHB0cjsgfQogCiAgICAgdmly
dHVhbCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIoKSA9IDA7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9UYXNrU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGFz
a1NvdXJjZS5oCmluZGV4IDcxMzNmNjc4ZWEyZDk5MjY5NTE2MDIwODY0ZWYxM2Q0ZjNlZmQzOTgu
LjJkYTQ3YmFkNmM3M2E2YmE1YmYyODNiOGQzNTJmNDBkMjFhZjAxNGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9UYXNrU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Rh
c2tTb3VyY2UuaApAQCAtMzksNiArMzksNyBAQCBlbnVtIGNsYXNzIFRhc2tTb3VyY2UgOiB1aW50
OF90IHsKICAgICBNaWNyb3Rhc2ssCiAgICAgTmV0d29ya2luZywKICAgICBQZXJmb3JtYW5jZVRp
bWVsaW5lLAorICAgIFBlcm1pc3Npb24sCiAgICAgUG9zdGVkTWVzc2FnZVF1ZXVlLAogICAgIFNw
ZWVjaCwKICAgICBVc2VySW50ZXJhY3Rpb24sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVu
dHMuY3BwCmluZGV4IDk2NGUyZGQxMjA3MDMzMWE2NWNhMzQxYWM3MGU0YjI4NzQyMDBhMGQuLjU1
Y2M0NmUyNTkxODQ2OWYzMWQ1NmMwNDk2ZTQzZGQ1NWVjZmQ1ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC02Myw2ICs2Myw3IEBACiAjaW5jbHVkZSAiUGFnZS5o
IgogI2luY2x1ZGUgIlBhZ2VDb25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAiUGF5bWVudENvb3Jk
aW5hdG9yQ2xpZW50LmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJQbHVnaW5JbmZvUHJvdmlkZXIuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXJDbGll
bnQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbkRhdGEuaCIKQEAgLTExOTMsNyArMTE5NCw4
IEBAIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uV2l0aEVtcHR5Q2xpZW50cyhQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8RW1wdHlGcmFt
ZUxvYWRlckNsaWVudD4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1teVNwZWVjaFJlY29n
bml0aW9uUHJvdmlkZXI+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8RW1wdHlNZWRpYVJlY29y
ZGVyUHJvdmlkZXI+KCksCi0gICAgICAgIEVtcHR5QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5Ojpj
cmVhdGUoKQorICAgICAgICBFbXB0eUJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Y3JlYXRlKCks
CisgICAgICAgIG1ha2VVbmlxdWVSZWY8RHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlcj4oKQogICAg
IH07CiAKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RW1wdHlDaHJvbWVDbGllbnQ+IGR1bW15
Q2hyb21lQ2xpZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggZWVlNjhiNzdlMWU1ZmNlMWU1OWMz
Mjk0MzRhOWE4NjAwYjM2OTcxMC4uODYxMDc4YmEwYmY2MTgzYjc3MTE0NWE3NGI0MWJlMDdkN2Iw
NTYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC05OSw2ICs5OSw3IEBACiAjaW5jbHVkZSAiUGVy
Zm9ybWFuY2VMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50Lmgi
CiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VNb25pdG9yLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNp
bmNsdWRlICJQbGF0Zm9ybVNjcmVlbi5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5o
IgpAQCAtMzI1LDYgKzMyNiw3IEBAIFBhZ2U6OlBhZ2UoUGFnZUNvbmZpZ3VyYXRpb24mJiBwYWdl
Q29uZmlndXJhdGlvbikKICAgICAsIG1fbG9hZHNTdWJyZXNvdXJjZXMocGFnZUNvbmZpZ3VyYXRp
b24ubG9hZHNTdWJyZXNvdXJjZXMpCiAgICAgLCBtX3Nob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tp
ZUJsb2NraW5nKHBhZ2VDb25maWd1cmF0aW9uLnNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJs
b2NraW5nKQogICAgICwgbV9odHRwc1VwZ3JhZGVFbmFibGVkKHBhZ2VDb25maWd1cmF0aW9uLmh0
dHBzVXBncmFkZUVuYWJsZWQpCisgICAgLCBtX3Blcm1pc3Npb25Db250cm9sbGVyKFdURk1vdmUo
cGFnZUNvbmZpZ3VyYXRpb24ucGVybWlzc2lvbkNvbnRyb2xsZXIpKQogewogICAgIHVwZGF0ZVRp
bWVyVGhyb3R0bGluZ1N0YXRlKCk7CiAKQEAgLTM2OTMsNCArMzY5NSw5IEBAIHZvaWQgUGFnZTo6
cmVzZXRUZXh0UmVjb2duaXRpb25SZXN1bHRzKCkKIAogI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9B
TkFMWVNJUykKIAorUGVybWlzc2lvbkNvbnRyb2xsZXImIFBhZ2U6OnBlcm1pc3Npb25Db250cm9s
bGVyKCkKK3sKKyAgICByZXR1cm4gbV9wZXJtaXNzaW9uQ29udHJvbGxlci5nZXQoKTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA5MjU1YmYzMTNjNjdkNzE0
ODE1Y2Y3ODE1MjY2ZmZkODA1YjIyZjYwLi4zYjFlMjY5MDU1NmRkNGYzZDE3YThlYjg1ZjI0ZDAw
NDA4ODc0Mzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMTMxLDYgKzEzMSw3IEBAIGNsYXNzIFBheW1l
bnRDb29yZGluYXRvcjsKIGNsYXNzIFBlcmZvcm1hbmNlTG9nZ2luZzsKIGNsYXNzIFBlcmZvcm1h
bmNlTG9nZ2luZ0NsaWVudDsKIGNsYXNzIFBlcmZvcm1hbmNlTW9uaXRvcjsKK2NsYXNzIFBlcm1p
c3Npb25Db250cm9sbGVyOwogY2xhc3MgUGx1Z2luRGF0YTsKIGNsYXNzIFBsdWdpbkluZm9Qcm92
aWRlcjsKIGNsYXNzIFBsdWdpblZpZXdCYXNlOwpAQCAtODcyLDYgKzg3Myw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGNhY2hlVGV4dFJlY29nbml0aW9uUmVzdWx0KGNvbnN0IEhUTUxFbGVtZW50Jiwg
Y29uc3QgSW50UmVjdCYgY29udGFpbmVyUmVjdCwgY29uc3QgVGV4dFJlY29nbml0aW9uUmVzdWx0
Jik7CiAjZW5kaWYKIAorICAgIFdFQkNPUkVfRVhQT1JUIFBlcm1pc3Npb25Db250cm9sbGVyJiBw
ZXJtaXNzaW9uQ29udHJvbGxlcigpOworCiBwcml2YXRlOgogICAgIHN0cnVjdCBOYXZpZ2F0aW9u
IHsKICAgICAgICAgUmVnaXN0cmFibGVEb21haW4gZG9tYWluOwpAQCAtMTE5NCw2ICsxMTk3LDgg
QEAgcHJpdmF0ZToKICAgICBjb25zdCBib29sIG1faHR0cHNVcGdyYWRlRW5hYmxlZCB7IHRydWUg
fTsKICAgICBtdXRhYmxlIE1lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllciBtX21lZGlhU2Vzc2lv
bkdyb3VwSWRlbnRpZmllcjsKIAorICAgIFVuaXF1ZVJlZjxQZXJtaXNzaW9uQ29udHJvbGxlcj4g
bV9wZXJtaXNzaW9uQ29udHJvbGxlcjsKKwogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKICAg
ICAvLyBGSVhNRTogVGhlc2Ugc2hvdWxkIGJlIHJlZmFjdG9yZWQgdG8gdXNlIGEgd2VhayBoYXNo
IG1hcCBvZiBIVE1MRWxlbWVudCB0byBzdGQ6OnBhaXI8VGV4dFJlY29nbml0aW9uUmVzdWx0LCBJ
bnRTaXplPi4KICAgICBWZWN0b3I8c3RkOjpwYWlyPFdlYWtQdHI8SFRNTEVsZW1lbnQ+LCBzdGQ6
OnBhaXI8VGV4dFJlY29nbml0aW9uUmVzdWx0LCBJbnRSZWN0Pj4+IG1fdGV4dFJlY29nbml0aW9u
UmVzdWx0c0J5RWxlbWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5j
cHAKaW5kZXggNjc1ZTM2OWNjMWUyYzJiNzdkOTlmZGQwOTEzNGIxOThmMGNmM2FmMy4uY2I1NjBm
ZDQxNGEyM2E3NmIyY2M3YjYwZWE1MDI5OTlhOTgxY2M5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKQEAgLTU5LDcgKzU5LDcgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1QYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpTZXNz
aW9uSUQgc2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRvckNsaWVudCwg
UmVmPFNvY2tldFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyLCBVbmlxdWVSZWY8TGliV2ViUlRD
UHJvdmlkZXI+JiYgbGliV2ViUlRDUHJvdmlkZXIsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4m
JiBjYWNoZVN0b3JhZ2VQcm92aWRlciwgUmVmPFVzZXJDb250ZW50UHJvdmlkZXI+JiYgdXNlckNv
bnRlbnRQcm92aWRlciwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmIGJhY2tGb3J3YXJkQ2xpZW50
LCBSZWY8Q29va2llSmFyPiYmIGNvb2tpZUphciwgVW5pcXVlUmVmPFByb2dyZXNzVHJhY2tlckNs
aWVudD4mJiBwcm9ncmVzc1RyYWNrZXJDbGllbnQsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNsaWVu
dD4mJiBsb2FkZXJDbGllbnRGb3JNYWluRnJhbWUsIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlv
blByb3ZpZGVyPiYmIHNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXIsIFVuaXF1ZVJlZjxNZWRpYVJl
Y29yZGVyUHJvdmlkZXI+JiYgbWVkaWFSZWNvcmRlclByb3ZpZGVyLCBSZWY8QnJvYWRjYXN0Q2hh
bm5lbFJlZ2lzdHJ5PiYmIGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSkKK1BhZ2VDb25maWd1cmF0
aW9uOjpQYWdlQ29uZmlndXJhdGlvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVuaXF1ZVJl
ZjxFZGl0b3JDbGllbnQ+JiYgZWRpdG9yQ2xpZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29j
a2V0UHJvdmlkZXIsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92
aWRlciwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmIGNhY2hlU3RvcmFnZVByb3ZpZGVyLCBS
ZWY8VXNlckNvbnRlbnRQcm92aWRlcj4mJiB1c2VyQ29udGVudFByb3ZpZGVyLCBSZWY8QmFja0Zv
cndhcmRDbGllbnQ+JiYgYmFja0ZvcndhcmRDbGllbnQsIFJlZjxDb29raWVKYXI+JiYgY29va2ll
SmFyLCBVbmlxdWVSZWY8UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmIHByb2dyZXNzVHJhY2tlckNs
aWVudCwgVW5pcXVlUmVmPEZyYW1lTG9hZGVyQ2xpZW50PiYmIGxvYWRlckNsaWVudEZvck1haW5G
cmFtZSwgVW5pcXVlUmVmPFNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+JiYgc3BlZWNoUmVjb2du
aXRpb25Qcm92aWRlciwgVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4mJiBtZWRpYVJl
Y29yZGVyUHJvdmlkZXIsIFJlZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYgYnJvYWRjYXN0
Q2hhbm5lbFJlZ2lzdHJ5LCBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+JiYgcGVybWlz
c2lvbkNvbnRyb2xsZXIpCiAgICAgOiBzZXNzaW9uSUQoc2Vzc2lvbklEKQogICAgICwgZWRpdG9y
Q2xpZW50KFdURk1vdmUoZWRpdG9yQ2xpZW50KSkKICAgICAsIHNvY2tldFByb3ZpZGVyKFdURk1v
dmUoc29ja2V0UHJvdmlkZXIpKQpAQCAtNzMsNiArNzMsNyBAQCBQYWdlQ29uZmlndXJhdGlvbjo6
UGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVbmlxdWVSZWY8RWRp
dG9yQwogICAgICwgYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KFdURk1vdmUoYnJvYWRjYXN0Q2hh
bm5lbFJlZ2lzdHJ5KSkKICAgICAsIHNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXIoV1RGTW92ZShz
cGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyKSkKICAgICAsIG1lZGlhUmVjb3JkZXJQcm92aWRlcihX
VEZNb3ZlKG1lZGlhUmVjb3JkZXJQcm92aWRlcikpCisgICAgLCBwZXJtaXNzaW9uQ29udHJvbGxl
cihXVEZNb3ZlKHBlcm1pc3Npb25Db250cm9sbGVyKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlQ29uZmlndXJhdGlvbi5oCmluZGV4IDBmMjU5ZDU2ZDNhMTQyYTE0ZTBlYzg1MTRlMGZk
NWIyZmQyOTMwYTUuLmQ3NWI3MTA0YzM1MDM5MWY1OGE5NjhmYWUyZTZlMDM1NDYxMTZhY2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAg
Y2xhc3MgTGliV2ViUlRDUHJvdmlkZXI7CiBjbGFzcyBNZWRpYVJlY29yZGVyUHJvdmlkZXI7CiBj
bGFzcyBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ7CiBjbGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmdD
bGllbnQ7CitjbGFzcyBQZXJtaXNzaW9uQ29udHJvbGxlcjsKIGNsYXNzIFBsdWdpbkluZm9Qcm92
aWRlcjsKIGNsYXNzIFByb2dyZXNzVHJhY2tlckNsaWVudDsKIGNsYXNzIFNvY2tldFByb3ZpZGVy
OwpAQCAtNzQsNyArNzUsNyBAQCBjbGFzcyBTcGVlY2hTeW50aGVzaXNDbGllbnQ7CiBjbGFzcyBQ
YWdlQ29uZmlndXJhdGlvbiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNvbmZpZ3Vy
YXRpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VY
UE9SVCBQYWdlQ29uZmlndXJhdGlvbihQQUw6OlNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckNs
aWVudD4mJiwgUmVmPFNvY2tldFByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlk
ZXI+JiYsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4mJiwgUmVmPFVzZXJDb250ZW50UHJvdmlk
ZXI+JiYsIFJlZjxCYWNrRm9yd2FyZENsaWVudD4mJiwgUmVmPENvb2tpZUphcj4mJiwgVW5pcXVl
UmVmPFByb2dyZXNzVHJhY2tlckNsaWVudD4mJiwgVW5pcXVlUmVmPEZyYW1lTG9hZGVyQ2xpZW50
PiYmLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4mJiwgVW5pcXVlUmVmPE1l
ZGlhUmVjb3JkZXJQcm92aWRlcj4mJiwgUmVmPEJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4mJik7
CisgICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpTZXNzaW9uSUQsIFVu
aXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVm
PExpYldlYlJUQ1Byb3ZpZGVyPiYmLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYsIFJlZjxV
c2VyQ29udGVudFByb3ZpZGVyPiYmLCBSZWY8QmFja0ZvcndhcmRDbGllbnQ+JiYsIFJlZjxDb29r
aWVKYXI+JiYsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYsIFVuaXF1ZVJlZjxG
cmFtZUxvYWRlckNsaWVudD4mJiwgVW5pcXVlUmVmPFNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+
JiYsIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYsIFJlZjxCcm9hZGNhc3RDaGFu
bmVsUmVnaXN0cnk+JiYsIFVuaXF1ZVJlZjxQZXJtaXNzaW9uQ29udHJvbGxlcj4mJik7CiAgICAg
V0VCQ09SRV9FWFBPUlQgflBhZ2VDb25maWd1cmF0aW9uKCk7CiAgICAgUGFnZUNvbmZpZ3VyYXRp
b24oUGFnZUNvbmZpZ3VyYXRpb24mJik7CiAKQEAgLTEzOCw2ICsxMzksOCBAQCBwdWJsaWM6CiAg
ICAgYm9vbCB1c2VyU2NyaXB0c1Nob3VsZFdhaXRVbnRpbE5vdGlmaWNhdGlvbiB7IHRydWUgfTsK
ICAgICBTaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZyBzaG91bGRSZWxheFRoaXJk
UGFydHlDb29raWVCbG9ja2luZyB7IFNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5n
OjpObyB9OwogICAgIGJvb2wgaHR0cHNVcGdyYWRlRW5hYmxlZCB7IHRydWUgfTsKKworICAgIFVu
aXF1ZVJlZjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gcGVybWlzc2lvbkNvbnRyb2xsZXI7CiB9Owog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktp
dC9Tb3VyY2VzLnR4dAppbmRleCA2NmFlZGE0M2M4MmQ4YmZiMzM1YmJmZWY2MDk1ZDA0ZWZhZGI4
NjIwLi5hNzQ1ZDcyMDE1Y2ZjMTk1ZmI5NmYyY2M1NTg1OGE4MzFiNzUwZWE4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50
eHQKQEAgLTY5NCw2ICs2OTQsNyBAQCBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk1lZGlh
S2V5U3lzdGVtQ2xpZW50LmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJNZXNzYWdl
UG9ydENoYW5uZWxQcm92aWRlci5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90
aWZpY2F0aW9uQ2xpZW50LmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJmb3Jt
YW5jZUxvZ2dpbmdDbGllbnQuY3BwCitXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1p
c3Npb25Db250cm9sbGVyLmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5j
cHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNWZiMzA4OTUw
MTU2MjQ4NjY2MTUzYzYyNGY0MDM0ZWE0YTg4NGZkZi4uOWE4Mjk2Yjk4ZDViYjBkYjYzYTc4MGYx
NWJmMzQyMzNlN2U0M2MxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCkBAIC0xNzIsNiArMTcyLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0
cnkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU3RyZWFtUmVxdWVzdC5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Q
ZXJtaXNzaW9uU3RhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtRXZlbnQuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1ByaXZhdGVDbGlja01lYXN1cmVtZW50Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9QdWJsaWNTdWZmaXguaD4KQEAgLTg0OTMsNiArODQ5NCwxMiBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6cmV2b2tlR2VvbG9jYXRpb25BdXRob3JpemF0aW9uVG9rZW4oY29uc3QgU3RyaW5nJiBh
dXRob3JpemF0aQogICAgIG1fZ2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIucmV2
b2tlQXV0aG9yaXphdGlvblRva2VuKGF1dGhvcml6YXRpb25Ub2tlbik7CiB9CiAKK3ZvaWQgV2Vi
UGFnZVByb3h5OjpyZXF1ZXN0UGVybWlzc2lvbihjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4m
LCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sK
KyAgICAvLyBGSVhNRTogU2hvdyBhIHByb21wdCBmb3IgdXNlciBpbnB1dC4KKyAgICBjb21wbGV0
aW9uSGFuZGxlcihQZXJtaXNzaW9uU3RhdGU6OkdyYW50ZWQpOworfQorCiAjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5JiBXZWJQ
YWdlUHJveHk6OnVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGVhMWMyMmZiNmIxMWJlOTY4OTkyODI2
NGQzYmYzZmM4NDcxMDliOGQuLjQ2MWFhY2I4ODg2YTUyMzFjY2FhZmYwNzRmMmExYTU0YzAxNzdk
NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0yOTQsNiArMjk0
LDcgQEAgc3RydWN0IExpbmtJY29uOwogc3RydWN0IE1lZGlhU3RyZWFtUmVxdWVzdDsKIHN0cnVj
dCBNZWRpYVVzYWdlSW5mbzsKIHN0cnVjdCBNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0
aW9uOworc3RydWN0IFBlcm1pc3Npb25EZXNjcmlwdG9yOwogc3RydWN0IFByZXdhcm1JbmZvcm1h
dGlvbjsKIHN0cnVjdCBTZWN1cml0eU9yaWdpbkRhdGE7CiBzdHJ1Y3QgU2hhcmVEYXRhOwpAQCAt
MjExNyw2ICsyMTE4LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcmVxdWVzdEdlb2xvY2F0aW9u
UGVybWlzc2lvbkZvckZyYW1lKEdlb2xvY2F0aW9uSWRlbnRpZmllciwgRnJhbWVJbmZvRGF0YSYm
KTsKICAgICB2b2lkIHJldm9rZUdlb2xvY2F0aW9uQXV0aG9yaXphdGlvblRva2VuKGNvbnN0IFN0
cmluZyYgYXV0aG9yaXphdGlvblRva2VuKTsKKyAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKGNv
bnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNj
cmlwdG9yJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUp
PiYmKTsKIAogI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQogICAgIHZvaWQgc2Vu
ZE1lc3NhZ2VUb1dlYlZpZXcoVXNlck1lc3NhZ2UmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYmMzN2I4ZmM2YWRmM2VhZDE4
NzJkMTE1NWZmMGNiZDAwOWRjMGFmOS4uMDdlMGY1NDgwMzQ2OTcwM2E2ZjczN2Q5OTMwN2IxZWM3
MzUwY2QzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbgpAQCAtNjAyLDQgKzYwMiw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7
CiAjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgTW9kZWxFbGVtZW50RGlk
Q3JlYXRlUHJldmlldyhzdHJ1Y3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQgZWxlbWVudENvbnRl
eHQsIFVSTCB1cmwsIFN0cmluZyB1dWlkLCBXZWJDb3JlOjpGbG9hdFNpemUgc2l6ZSkKICNlbmRp
ZgorCisgICAgcmVxdWVzdFBlcm1pc3Npb24oc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBv
cmlnaW4sIHN0cnVjdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yKSAt
PiAoZW51bTp1aW50OF90IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBzdGF0ZSkgQXN5bmMKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGZlM2QzMmIzMjk1YzJjNDRmZDQ0NDRjZGQ3ZjE0MWYyNDAwNGNhMDIuLmZiNjhhM2JkMTZkMjcz
ODJjZDMzYzkzYjEwYmViZTI5M2IzM2E1MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQ5Niw2ICsxNDk2LDcgQEAKIAkJOTNBQjlC
NEUyNTc1NjdFMjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRp
YVNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTNBQjlCNDIyNTc0OTI4QzAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRp
bWVNZWRpYVNvdXJjZS5oICovOyB9OwogCQk5M0FCOUI1NTI1NzVBMjc2MDA5OEIxMEUgLyogU3Bl
ZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0FCOUI0
RjI1NzU4OTExMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNl
TWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTkzQUI5QjU2MjU3NUEyOEIwMDk4
QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2Vy
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzQUI5QjUxMjU3NTg5MTEwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJl
bW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsK
KwkJOTNCMEE2NzUyNkQ1QURDRjAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY3NDI2
RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLzsgfTsKIAkJOTNC
MjYxNEQyMjdEMTQ5RTAwQjk3QTc2IC8qIFN0b3JhZ2VNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IyNjE0OTIyN0QxNDcyMDBCOTdBNzYg
LyogU3RvcmFnZU1hbmFnZXIuaCAqLzsgfTsKIAkJOTNCMjYxNEUyMjdEMTRCMTAwQjk3QTc2IC8q
IExvY2FsU3RvcmFnZURhdGFiYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5M0IyNjE0NTIyN0QxNDcwMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0
YWJhc2UuaCAqLzsgfTsKIAkJOTNCMjYxNEYyMjdEMTRCMTAwQjk3QTc2IC8qIExvY2FsU3RvcmFn
ZURhdGFiYXNlVHJhY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTNCMjYxNDYyMjdEMTQ3MTAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNl
VHJhY2tlci5oICovOyB9OwpAQCAtNDkxNCw2ICs0OTE1LDEwIEBACiAJCTkzQUI5QjUyMjU3NTg5
MTIwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VN
YW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdl
c1JlcGxpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNBQjlCNTMyNTc1ODkx
MjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1h
bmFnZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGVlY2hS
ZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNBQjlCNTQyNTc1ODkxMjAwOThCMTBFIC8qIFNw
ZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1lTWVk
aWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTNCMEE2NkQyNkQ0NTE1MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25NYW5hZ2VyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcm1pc3Npb25NYW5hZ2VyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NkUyNkQ0NTE1MDAwQUEyMUU0IC8qIFBl
cm1pc3Npb25NYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1p
c3Npb25NYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjczMjZE
NUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjc0MjZENUE3MkUwMEFBMjFFNCAvKiBX
ZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5M0IyNjE0NTIyN0QxNDcwMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxTdG9yYWdlRGF0YWJhc2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMjYxNDYyMjdEMTQ3MTAwQjk3QTc2IC8qIExv
Y2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTNCMjYxNDcyMjdEMTQ3MTAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNl
VHJhY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2NhbFN0
b3JhZ2VEYXRhYmFzZVRyYWNrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
OTYyMyw2ICs5NjI4LDE1IEBACiAJCQlwYXRoID0gU3BlZWNoOwogCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKIAkJfTsKKwkJOTNCMEE2NkMyNkQ0NTExRjAwQUEyMUU0IC8qIFBlcm1pc3Npb24g
Ki8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTkzQjBBNjZE
MjZENDUxNTAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5jcHAgKi8sCisJCQkJOTNCMEE2
NkUyNkQ0NTE1MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25NYW5hZ2VyLmggKi8sCisJCQkpOworCQkJ
cGF0aCA9IFBlcm1pc3Npb247CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk5
M0IyNjE0MzIyN0QxNDMxMDBCOTdBNzYgLyogV2ViU3RvcmFnZSAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC05ODYzLDYgKzk4NzcsNyBAQAogCQkJCTRBNDEw
RjQxMTlBRjdCMjcwMDJFQkFCNSAvKiBNZWRpYVN0cmVhbSAqLywKIAkJCQk1MTA1QjBEMjE2MkY3
QTVFMDBFMjc3MDkgLyogTmV0d29yayAqLywKIAkJCQkzMTA5OTk3NDE0NkM4QUE4MDAyOURFQjkg
LyogTm90aWZpY2F0aW9ucyAoVXNlcikgKi8sCisJCQkJOTNCMEE2NkMyNkQ0NTExRjAwQUEyMUU0
IC8qIFBlcm1pc3Npb24gKi8sCiAJCQkJMUE2RkI3QUExMUU2NEI0OTAwREIxMzcxIC8qIFBsdWdp
bnMgKi8sCiAJCQkJOTNBQjlCNDgyNTc0QzVDRTAwOThCMTBFIC8qIFNwZWVjaCAqLywKIAkJCQk1
MTE4RTk5ODFGMjk1MjU5MDAzRUY5RjUgLyogU3RvcmFnZSAqLywKQEAgLTk5MzMsNiArOTk0OCw4
IEBACiAJCQkJNTEyMTI3QzIxOTA4MjM5QTAwREFGMzVDIC8qIFdlYlBhc3RlYm9hcmRPdmVycmlk
ZXMuaCAqLywKIAkJCQkwRjg1MEZFNDFFRDdDMzlGMDBGQjc3QTcgLyogV2ViUGVyZm9ybWFuY2VM
b2dnaW5nQ2xpZW50LmNwcCAqLywKIAkJCQkwRjg1MEZFNTFFRDdDMzlGMDBGQjc3QTcgLyogV2Vi
UGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmggKi8sCisJCQkJOTNCMEE2NzMyNkQ1QTcyRTAwQUEy
MUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcCAqLywKKwkJCQk5M0IwQTY3NDI2RDVB
NzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLywKIAkJCQkxQTNFNzM2
MDExQ0MyNjU5MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCAqLywKIAkJCQkx
QTNFNzM1RjExQ0MyNjU5MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggKi8sCiAJ
CQkJRDNCOTQ4NDIxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5jcHAgKi8sCkBAIC0x
MjY2Miw2ICsxMjY3OSw3IEBACiAJCQkJQTE3OThCNEMyMjJGMUJENDAwMDc2NEJEIC8qIFdlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjFGNzk5
MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2VzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwRjg1MEZFNzFFRDdDMzlGMDBGQjc3QTcgLyogV2ViUGVyZm9y
bWFuY2VMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY3NTI2RDVBRENG
MDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBM0U3MzYxMTFDQzI2NTkwMDdCRDUzOSAvKiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDNTc0NEYwMTI2MzhGQjMwMDZGMEYxMiAvKiBXZWJQb3B1cEl0ZW0u
aCBpbiBIZWFkZXJzICovLAogCQkJCUQzQjk0ODQ3MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1
cE1lbnUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzgwY2FiZTAwY2Y2ZTM4NTE5ZjdkMDNiOThhMDczM2M2MzlmNDIwYwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAKQEAgLTAsMCArMSwxNDIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViUGVybWlzc2lvbkNvbnRyb2xs
ZXIuaCIKKworCisjaW5jbHVkZSAiV2ViUGFnZS5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1l
c3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uT2JzZXJ2ZXIuaD4KKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK1dlYlBlcm1pc3Npb25Db250cm9sbGVyOjpXZWJQZXJtaXNzaW9u
Q29udHJvbGxlcihXZWJQYWdlJiBwYWdlKQorICAgIDogbV9wYWdlKG1ha2VXZWFrUHRyKHBhZ2Up
KQoreworfQorCitXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgV2ViUGVybWlzc2lvbkNvbnRyb2xs
ZXI6OnF1ZXJ5KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6UGVybWlz
c2lvbkRlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQoreworICAgIGlmICghbV9wYWdlKQorICAgICAg
ICByZXR1cm4gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpEZW5pZWQ7CisKKyAgICByZXR1cm4g
cXVlcnlDYWNoZShXVEZNb3ZlKG9yaWdpbiksIFdURk1vdmUoZGVzY3JpcHRvcikpOworfQorCit2
b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpyZXF1ZXN0KFdlYkNvcmU6OkNsaWVudE9yaWdp
biYmIG9yaWdpbiwgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImJiBkZXNjcmlwdG9yLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybiBjb21wbGV0
aW9uSGFuZGxlcihXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkRlbmllZCk7CisKKyAgICBhdXRv
IGNhY2hlZFJlc3VsdCA9IHF1ZXJ5Q2FjaGUob3JpZ2luLCBkZXNjcmlwdG9yKTsKKyAgICBpZiAo
Y2FjaGVkUmVzdWx0ICE9IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0KQorICAgICAg
ICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoY2FjaGVkUmVzdWx0KTsKKworICAgIG1fcmVxdWVz
dHMuYXBwZW5kKFBlcm1pc3Npb25SZXF1ZXN0IHsgV1RGTW92ZShvcmlnaW4pLCBXVEZNb3ZlKGRl
c2NyaXB0b3IpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSB9KTsKKyAgICB0cnlQcm9jZXNz
aW5nUmVxdWVzdCgpOworfQorCitXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgV2ViUGVybWlzc2lv
bkNvbnRyb2xsZXI6OnF1ZXJ5Q2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBvcmln
aW4sIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQorewor
ICAgIGlmIChtX2NhY2hlZFBlcm1pc3Npb25FbnRyaWVzLmNvbnRhaW5zKG9yaWdpbikpIHsKKyAg
ICAgICAgYXV0byBwZXJtaXNzaW9uRW50cmllcyA9IG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXMu
Z2V0KG9yaWdpbik7CisgICAgICAgIGZvciAoYXV0byYgZW50cnkgOiBwZXJtaXNzaW9uRW50cmll
cykgeworICAgICAgICAgICAgaWYgKGVudHJ5LmZpcnN0ID09IGRlc2NyaXB0b3IpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIGVudHJ5LnNlY29uZDsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJl
dHVybiBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdDsKK30KKwordm9pZCBXZWJQZXJt
aXNzaW9uQ29udHJvbGxlcjo6dXBkYXRlQ2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2lu
JiBvcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9y
LCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpCit7CisgICAgYXV0byYgZW50cmllcyA9
IG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXMuZW5zdXJlKG9yaWdpbiwgWyZdKCkgeworICAgICAg
ICByZXR1cm4gVmVjdG9yPFBlcm1pc3Npb25FbnRyeT4geyB9OworICAgIH0pLml0ZXJhdG9yLT52
YWx1ZTsKKyAgICBmb3IgKGF1dG8mIGVudHJ5IDogZW50cmllcykgeworICAgICAgICBpZiAoZW50
cnkuZmlyc3QgPT0gZGVzY3JpcHRvcikgeworICAgICAgICAgICAgaWYgKGVudHJ5LnNlY29uZCA9
PSBzdGF0ZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIGVudHJ5LnNl
Y29uZCA9IHN0YXRlOworICAgICAgICAgICAgcGVybWlzc2lvbkNoYW5nZWQob3JpZ2luLCBkZXNj
cmlwdG9yLCBzdGF0ZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9Cit9
CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnRyeVByb2Nlc3NpbmdSZXF1ZXN0KCkK
K3sKKyAgICBpZiAobV9yZXF1ZXN0cy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAg
IHdoaWxlICghbV9yZXF1ZXN0cy5pc0VtcHR5KCkpIHsKKyAgICAgICAgYXV0byYgY3VycmVudFJl
cXVlc3QgPSBtX3JlcXVlc3RzLmZpcnN0KCk7CisgICAgICAgIGlmIChjdXJyZW50UmVxdWVzdC5p
c1dhaXRpbmdGb3JSZXBseSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAvLyBDYWNo
ZSBtYXkgaGF2ZSB1cGRhdGVkLgorICAgICAgICBhdXRvIGNhY2hlZFJlc3VsdCA9IHF1ZXJ5Q2Fj
aGUoY3VycmVudFJlcXVlc3Qub3JpZ2luLCBjdXJyZW50UmVxdWVzdC5kZXNjcmlwdG9yKTsKKyAg
ICAgICAgaWYgKGNhY2hlZFJlc3VsdCAhPSBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21w
dCkgeworICAgICAgICAgICAgYXV0byB0YWtlblJlcXVlc3QgPSBtX3JlcXVlc3RzLnRha2VGaXJz
dCgpOworICAgICAgICAgICAgdGFrZW5SZXF1ZXN0LmNvbXBsZXRpb25IYW5kbGVyKGNhY2hlZFJl
c3VsdCk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCisgICAgICAgIGN1cnJl
bnRSZXF1ZXN0LmlzV2FpdGluZ0ZvclJlcGx5ID0gdHJ1ZTsKKyAgICAgICAgbV9wYWdlLT5zZW5k
V2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24o
Y3VycmVudFJlcXVlc3Qub3JpZ2luLCBjdXJyZW50UmVxdWVzdC5kZXNjcmlwdG9yKSwgW3RoaXMs
IHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXShhdXRvIHN0YXRlKSB7CisgICAgICAgICAg
ICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAg
YXV0byB0YWtlblJlcXVlc3QgPSBtX3JlcXVlc3RzLnRha2VGaXJzdCgpOworICAgICAgICAgICAg
dGFrZW5SZXF1ZXN0LmNvbXBsZXRpb25IYW5kbGVyKHN0YXRlKTsKKyAgICAgICAgICAgIHVwZGF0
ZUNhY2hlKHRha2VuUmVxdWVzdC5vcmlnaW4sIHRha2VuUmVxdWVzdC5kZXNjcmlwdG9yLCBzdGF0
ZSk7CisKKyAgICAgICAgICAgIHRyeVByb2Nlc3NpbmdSZXF1ZXN0KCk7CisgICAgICAgIH0pOwor
ICAgIH0KK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6YWRkT2JzZXJ2ZXIoV2Vi
Q29yZTo6UGVybWlzc2lvbk9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICBtX29ic2VydmVycy5h
ZGQob2JzZXJ2ZXIpOworfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpyZW1vdmVP
YnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImIG9ic2VydmVyKQoreworICAgIG1f
b2JzZXJ2ZXJzLnJlbW92ZShvYnNlcnZlcik7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRy
b2xsZXI6OnBlcm1pc3Npb25DaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYgb3Jp
Z2luLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgV2Vi
Q29yZTo6UGVybWlzc2lvblN0YXRlIHN0YXRlKQoreworICAgIGZvciAoYXV0byYgb2JzZXJ2ZXIg
OiBtX29ic2VydmVycykgeworICAgICAgICBpZiAob2JzZXJ2ZXIub3JpZ2luKCkgPT0gb3JpZ2lu
ICYmIG9ic2VydmVyLmRlc2NyaXB0b3IoKSA9PSBkZXNjcmlwdG9yKQorICAgICAgICAgICAgb2Jz
ZXJ2ZXIuc3RhdGVDaGFuZ2VkKHN0YXRlKTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NDhkNGY1
YzYyOWYxZDAwODlhYWE4NjY0NWI1YzNmOTZjZDQ4YWUyCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9s
bGVyLmgKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5j
bHVkZSA8V2ViQ29yZS9DbGllbnRPcmlnaW4uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1pc3Np
b25Db250cm9sbGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uRGVzY3JpcHRvci5o
PgorI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgor
CituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViUGFnZTsKKworY2xhc3MgV2ViUGVybWlz
c2lvbkNvbnRyb2xsZXIgZmluYWwgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8V2ViUGVybWlzc2lv
bkNvbnRyb2xsZXI+LCBwdWJsaWMgV2ViQ29yZTo6UGVybWlzc2lvbkNvbnRyb2xsZXIgeworcHVi
bGljOgorICAgIGV4cGxpY2l0IFdlYlBlcm1pc3Npb25Db250cm9sbGVyKFdlYlBhZ2UmKTsKKwor
cHJpdmF0ZToKKyAgICAvLyBXZWJDb3JlOjpQZXJtaXNzaW9uQ29udHJvbGxlcgorICAgIFdlYkNv
cmU6OlBlcm1pc3Npb25TdGF0ZSBxdWVyeShXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29y
ZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImJikgZmluYWw7CisgICAgdm9pZCByZXF1ZXN0KFdlYkNv
cmU6OkNsaWVudE9yaWdpbiYmLCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYpIGZpbmFsOwor
ICAgIHZvaWQgYWRkT2JzZXJ2ZXIoV2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyJikgZmluYWw7
CisgICAgdm9pZCByZW1vdmVPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImKSBm
aW5hbDsKKworICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBxdWVyeUNhY2hlKGNvbnN0IFdl
YkNvcmU6OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9y
Jik7CisgICAgdm9pZCB1cGRhdGVDYWNoZShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBj
b25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIFdlYkNvcmU6OlBlcm1pc3Npb25T
dGF0ZSk7CisgICAgdm9pZCB0cnlQcm9jZXNzaW5nUmVxdWVzdCgpOworICAgIHZvaWQgcGVybWlz
c2lvbkNoYW5nZWQoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6
UGVybWlzc2lvbkRlc2NyaXB0b3ImLCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpOworCisgICAg
V2Vha1B0cjxXZWJQYWdlPiBtX3BhZ2U7CisgICAgV2Vha0hhc2hTZXQ8V2ViQ29yZTo6UGVybWlz
c2lvbk9ic2VydmVyPiBtX29ic2VydmVyczsKKworICAgIHVzaW5nIFBlcm1pc3Npb25FbnRyeSA9
IHN0ZDo6cGFpcjxXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciwgV2ViQ29yZTo6UGVybWlz
c2lvblN0YXRlPjsKKyAgICBIYXNoTWFwPFdlYkNvcmU6OkNsaWVudE9yaWdpbiwgVmVjdG9yPFBl
cm1pc3Npb25FbnRyeT4+IG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXM7CisKKyAgICBzdHJ1Y3Qg
UGVybWlzc2lvblJlcXVlc3QgeworICAgICAgICBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2lu
OworICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yOworICAg
ICAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+IGNv
bXBsZXRpb25IYW5kbGVyOworICAgICAgICBib29sIGlzV2FpdGluZ0ZvclJlcGx5IHsgZmFsc2Ug
fTsKKyAgICB9OworICAgIERlcXVlPFBlcm1pc3Npb25SZXF1ZXN0PiBtX3JlcXVlc3RzOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAppbmRleCAwNGUzYWUyMDE0M2YyZjNkYmQyMDY0YTMwMmYwMWI4NGVk
Y2E5NjQ1Li43MTFlZDhlOTIyNzZlYjkzMWY1NDQ1Yzc0ZmQ2YzNiMGU5ZWI1NDFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTIxLDYgKzEy
MSw3IEBACiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQ
YXltZW50Q29vcmRpbmF0b3IuaCIKICNpbmNsdWRlICJXZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGll
bnQuaCIKKyNpbmNsdWRlICJXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIldl
YlBsdWdpbkluZm9Qcm92aWRlci5oIgogI2luY2x1ZGUgIldlYlBvcHVwTWVudS5oIgogI2luY2x1
ZGUgIldlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCIKQEAgLTU2Myw3ICs1NjQsOCBAQCBXZWJQ
YWdlOjpXZWJQYWdlKFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1l
dGVycyYmIHBhcmFtZXRlcnMpCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRnJhbWVMb2FkZXJD
bGllbnQ+KG1fbWFpbkZyYW1lLmNvcHlSZWYoKSksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2Vi
U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4obV9pZGVudGlmaWVyKSwKICAgICAgICAgbWFrZVVu
aXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCp0aGlzKSwKLSAgICAgICAgV2ViUHJvY2Vz
czo6c2luZ2xldG9uKCkuYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KCkKKyAgICAgICAgV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkuYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KCksCisgICAgICAgIG1h
a2VVbmlxdWVSZWY8V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI+KCp0aGlzKQogICAgICk7CiAgICAg
cGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudCgqdGhp
cyk7CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFj
LmgKaW5kZXggYmJmOGQxYmI4Y2U2YzMwMWRjM2VmMjAxOTUzZDgyZmVjMDVlZGQ1OC4uNTZiYzgx
Yzc4ZjM0YWE0NTM0NzkzNWQyNzFlYzU3MGMzZmM3ZWU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVzaE1v
bml0b3JNYWMuaApAQCAtNTAsNyArNTAsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgc3RhcnROb3Rp
ZmljYXRpb25NZWNoYW5pc20oKSBmaW5hbDsKICAgICB2b2lkIHN0b3BOb3RpZmljYXRpb25NZWNo
YW5pc20oKSBmaW5hbDsKIAotICAgIHZvaWQgYWRqdXN0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25k
KEZyYW1lc1BlclNlY29uZCkgZmluYWw7CisgICAgdm9pZCBhZGp1c3RQcmVmZXJyZWRGcmFtZXNQ
ZXJTZWNvbmQoV2ViQ29yZTo6RnJhbWVzUGVyU2Vjb25kKSBmaW5hbDsKIAogICAgIERpc3BsYXlM
aW5rT2JzZXJ2ZXJJRCBtX29ic2VydmVySUQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6
OlJ1bkxvb3BPYnNlcnZlcj4gbV9ydW5Mb29wT2JzZXJ2ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggY2Q2YTVmNTcyOTk0ZjdlYzRmYmRlNzYzN2Rm
ODY3YmQ1MmYzYzgzNC4uNDgwM2ViYzllYzc3ZTg4ZTE1YjI4ZTJiZWRjMTZkNjczYTcyODljZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTk1LDYg
KzE5NSw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFn
ZUNvbmZpZ3VyYXRpb24uaD4KICNpbXBvcnQgPFdlYkNvcmUvUGF0aFV0aWxpdGllcy5oPgorI2lt
cG9ydCA8V2ViQ29yZS9QZXJtaXNzaW9uQ29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9Q
bGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5oPgogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybVNjcmVl
bi5oPgogI2ltcG9ydCA8V2ViQ29yZS9Qcm9ncmVzc1RyYWNrZXIuaD4KQEAgLTE1MzYsNyArMTUz
Nyw4IEBAIHN0YXRpYyB2b2lkIFdlYktpdEluaXRpYWxpemVHYW1lcGFkUHJvdmlkZXJJZk5lY2Vz
c2FyeSgpCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KCksCiAg
ICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3Zp
ZGVyPigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcm92
aWRlcj4oKSwKLSAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0
ZShbW3NlbGYgcHJlZmVyZW5jZXNdIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdKQorICAgICAgICBX
ZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNl
c10gcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0pLAorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNv
cmU6OkR1bW15UGVybWlzc2lvbkNvbnRyb2xsZXI+KCkKICAgICApOwogI2lmICFQTEFURk9STShJ
T1NfRkFNSUxZKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJD
aHJvbWVDbGllbnQoc2VsZik7CkBAIC0xODE0LDcgKzE4MTYsOCBAQCBzdGF0aWMgdm9pZCBXZWJL
aXRJbml0aWFsaXplR2FtZXBhZFByb3ZpZGVySWZOZWNlc3NhcnkoKQogICAgICAgICBtYWtlVW5p
cXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xpZW50PigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdl
YkNvcmU6OkR1bW15U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4oKSwKICAgICAgICAgbWFrZVVu
aXF1ZVJlZjxXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCksCi0gICAgICAgIFdlYkJy
b2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoW1tzZWxmIHByZWZlcmVuY2VzXSBw
cml2YXRlQnJvd3NpbmdFbmFibGVkXSkKKyAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lz
dHJ5OjpnZXRPckNyZWF0ZShbW3NlbGYgcHJlZmVyZW5jZXNdIHByaXZhdGVCcm93c2luZ0VuYWJs
ZWRdKSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpEdW1teVBlcm1pc3Npb25Db250
cm9sbGVyPigpCiAgICAgKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBu
ZXcgV2ViQ2hyb21lQ2xpZW50SU9TKHNlbGYpOwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCmluZGV4IDFjZjMyZGEyNGEwOTBjZmUzZDJiNjUy
OWNhODNmODI2YzU1ODJlOWQuLmMxOWU4ZWZmNTdmODE5MGVhMmM0YmNlMzE1ZjBmODBiMzkyYzE5
YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC0xMzgsNiArMTM4LDcgQEAK
ICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Q
YWdlQ29uZmlndXJhdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGF0aFV0aWxpdGllcy5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvUGVybWlzc2lvbkNvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1N
b3VzZUV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybVdoZWVsRXZlbnQuaD4KQEAg
LTMxMzMsNyArMzEzNCw4IEBAIEhSRVNVTFQgV2ViVmlldzo6aW5pdFdpdGhGcmFtZShSRUNUIGZy
YW1lLCBfSW5fIEJTVFIgZnJhbWVOYW1lLCBfSW5fIEJTVFIgZ3JvdXBOCiAgICAgICAgIG1ha2VV
bmlxdWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KHdlYkZyYW1lKSwKICAgICAgICAgbWFrZVVu
aXF1ZVJlZjxEdW1teVNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+KCksCiAgICAgICAgIG1ha2VV
bmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPigpLAotICAgICAgICBXZWJCcm9hZGNhc3RD
aGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRlKGZhbHNlKQorICAgICAgICBXZWJCcm9hZGNhc3RD
aGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRlKGZhbHNlKSwKKyAgICAgICAgbWFrZVVuaXF1ZVJl
ZjxEdW1teVBlcm1pc3Npb25Db250cm9sbGVyPigpCiAgICAgKTsKICAgICBjb25maWd1cmF0aW9u
LmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQodGhpcyk7CiAjaWYgRU5BQkxFKENP
TlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjEzNWZkYzMwOTc1NjA5NzZkYTgwOGM5OTg5ZjAwNzNiYzkx
ZDRlOS4uMDkwNWY3MDM0YzI0Y2NjYjRmYjQ1ODQzOWRkNDE3NDA4ODViMDMyOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDIxLTA4LTI3ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBzdHVicyBmb3IgUGVybWlzc2lvbnMgQVBJCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzMzkKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzgyNDQyMjA1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMt
d2sxL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8t
Y3Jhc2gtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRp
b25zOgorCiAyMDIxLTA4LTI1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgQ3Jhc2ggaW4gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnJlc2hh
cGVEaXNwbGF5QnVmZmVyQmFja2luZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXgg
OGE2NjUwZjg4Mjg0OTk4MDJhOWQyMGVmZTY5YjU0MzM3YjY0NGI4Zi4uZDhlZDM3Yjk4NDUwZTY2
NGZkYmY5MDkyMmQwMzU1ODAxMzk0YzgyMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDgtMjcgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFy
bmVzcy5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJt
aXNzaW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLXF1
ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1u
YW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lv
bnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1p
c3Npb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4
dDoKKwogMjAyMS0wOC0yNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtNYWMgd2syXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mt
b3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXBvcnRpbmctdG8tZnJhbWUtb3duZXIuaHR0cHMuaHRt
bCBpcyBhIGZsYWt5IGZhaWx1cmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDZiZGUyZjk0ZWFkMjE3
Yjg2NDQzMjU3MThjMWY0YzYyMTFmMjc2NzAuLjhiYzkzNjhkOGE4ZWQyOGJhYWE1NDEzZGJmOGFi
ZjJjMTZmZDE5MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTk2LDYgKzE5Niw3IEBAIGZhc3Qv
c3BlZWNocmVjb2duaXRpb24vcGVybWlzc2lvbi1lcnJvci5odG1sIFsgU2tpcCBdCiBmYXN0L3Nw
ZWVjaHJlY29nbml0aW9uL3N0YXJ0LXJlY29nbml0aW9uLXRoZW4tc3RvcC5odG1sIFsgU2tpcCBd
CiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXNlY29uZC1yZWNvZ25pdGlvbi5odG1sIFsg
U2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL2lvcy8gWyBTa2lwIF0KK2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvIFsgU2tpcCBdCiAKICMgYXBwLXByaXZh
Y3ktcmVwb3J0IHRlc3RzIHJlbHkgb24gV2ViS2l0QWRkaXRpb25zCiBodHRwL3Rlc3RzL2FwcC1w
cml2YWN5LXJlcG9ydC8gWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJt
aXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKaW5kZXggYjg0ZDQwZDc2NWYyMDQw
ODNkZWY4YjY3NzAwYzQyMDQ0YjAzNDY5OC4uMGM0YmFhMGNmZWUwMWY5NGNlYWY0YWY3ZmIzOGY4
OWI0ZmI2YmJlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9p
ZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKQEAgLTE5LDI5ICsxOSwyOSBAQCBQQVNTIFdvcmtl
ck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JJRDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUK
IFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckxhbmd1YWdlOiBtZW1iZXIg
bmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9y
T25MaW5lOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5j
bHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1
ZQotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkg
IlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZh
Y2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlz
c2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmpl
Y3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1
cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMi
IGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1p
c3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0
dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBl
cm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25T
dGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlM
IFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3RhdGUgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1
cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNoYW5nZSBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVz
IiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJt
aXNzaW9uU3RhdHVzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgcGVybWlzc2lvblN0YXR1
cyBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2Jq
ZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgotRkFJTCBTdHJpbmdpZmljYXRpb24gb2Yg
cGVybWlzc2lvblN0YXR1cyBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVu
IGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgotRkFJTCBQZXJt
aXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJv
cGVydHkgInN0YXRlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVj
dGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdv
dCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9u
U3RhdHVzIgotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0YXR1
cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBh
c3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0
IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMg
aW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJt
aXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVy
bWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQ
ZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Np
b25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBw
cm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5n
Ci1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNz
aW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1p
c3Npb25zIGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5KG9iamVjdCkgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVj
dGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBtdXN0
IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmlnYXRvci5wZXJtaXNzaW9ucyBhc3NlcnRfZXF1
YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVm
aW5lZCIKLUZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5wZXJtaXNzaW9ucyBhc3Nl
cnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3Qg
InVuZGVmaW5lZCIKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBuYXZpZ2F0b3IucGVybWlz
c2lvbnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeShvYmplY3QpIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmpl
Y3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBjYWxs
aW5nIHF1ZXJ5KG9iamVjdCkgb24gbmF2aWdhdG9yLnBlcm1pc3Npb25zIHdpdGggdG9vIGZldyBh
cmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9m
IG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIE5hdmln
YXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwZXJtaXNzaW9ucyBhc3NlcnRfdHJ1ZTogVGhlIHBy
b3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgInBlcm1pc3Npb25zIiBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBuYXZpZ2F0b3IgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJwZXJtaXNzaW9ucyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNz
ZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicGVybWlzc2lvbnMiIG5vdCBmb3VuZCBpbiBwcm90b3R5
cGUgY2hhaW4KK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50
ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2Jq
ZWN0IG5hbWUKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlCitQQVNTIFBlcm1pc3Npb25TdGF0dXMg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBtdXN0
IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHBlcm1pc3Npb25TdGF0dXMKK1BBU1MgU3RyaW5naWZp
Y2F0aW9uIG9mIHBlcm1pc3Npb25TdGF0dXMKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZh
Y2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzdGF0ZSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Np
b25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNoYW5nZSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0
IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgUGVy
bWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0
b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBw
cm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeShvYmpl
Y3QpCitQQVNTIFBlcm1pc3Npb25zIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmF2aWdh
dG9yLnBlcm1pc3Npb25zCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuYXZpZ2F0b3IucGVybWlz
c2lvbnMKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeShvYmplY3QpIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGNhbGxpbmcgcXVlcnkob2JqZWN0KSBvbiBu
YXZpZ2F0b3IucGVybWlzc2lvbnMgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5
cGVFcnJvcgorUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGVybWlzc2lvbnMK
K1BBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogbmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAicGVybWlzc2lvbnMiIHdpdGggdGhlIHByb3BlciB0eXBlCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFy
bmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dAppbmRleCA1MjU2MDJkMTZkN2YwZjU0Y2E4ZWYwM2Y3ZmNmNWI0ZWVlZjMxNjk3Li4w
NjJiMjk1N2YzMTU1MWIzNTJhNDk1NDE2YzNmNGFiZmE1Nzk5ZTZlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhh
cm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0CkBAIC0xOSwyNSArMTksMjUgQEAgUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5j
bHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5h
dmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JMYW5ndWFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlx
dWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvck9uTGluZTogbWVtYmVy
IG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRv
ckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKLUZBSUwgUGVybWlz
c2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3Rh
dHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBsZW5n
dGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
UGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1p
c3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lv
blN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZB
SUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBw
cm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVz
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBz
ZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3Rh
dHVzIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJv
cGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQ
QVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUGVybWlz
c2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBw
cm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBw
cm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRl
CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UKIEZB
SUwgUGVybWlzc2lvblN0YXR1cyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHBlcm1pc3Np
b25TdGF0dXMgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0
aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjog
Q2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKIEZBSUwgU3RyaW5naWZpY2F0
aW9uIG9mIHBlcm1pc3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRp
b24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJS
ZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKIEZB
SUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJzdGF0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczog
VW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxs
IGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVy
bWlzc2lvblN0YXR1cyIKIEZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Np
b25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNoYW5nZSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5n
IG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwgUGVybWlzc2lvbnMgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNz
aW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1p
c3Npb25zIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0
eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVj
dCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcK
LUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQ
ZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1
Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIg
bWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVy
dHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
UGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJ
TCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeShvYmplY3QpIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25z
IiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKK1BBU1MgUGVybWlzc2lv
bnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVj
dAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQZXJtaXNz
aW9ucyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BB
U1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFBl
cm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQZXJtaXNz
aW9ucyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeShvYmplY3QpCiBGQUlMIFBlcm1pc3Npb25z
IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zIGFzc2Vy
dF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAi
dW5kZWZpbmVkIgogRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25z
IGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0
IGdvdCAidW5kZWZpbmVkIgogRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG5hdmlnYXRvci5w
ZXJtaXNzaW9ucyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInF1ZXJ5KG9iamVjdCkiIHdpdGggdGhl
IHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQg
Im9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAppbmRleCBjM2U4NjA1Zjg3
Mjg3YTgwMzgxZjVkYjgwNmNkZDA1YTI1NTY1ZGRlLi5jMmZkNjVlOGQ0MDAyYTcyMzAxODdhNjFm
NTFjMjgyZWZjMWM2YmVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Np
b25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBU
ZXN0IFdlYiBORkMgUGVybWlzc2lvbi4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeScpCitQQVNTIFRlc3QgV2ViIE5GQyBQ
ZXJtaXNzaW9uLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5
LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0
dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dAppbmRleCBlNDJkZGEy
NjEyZjI1N2I3ZjAyYmJlZWY2NTYzM2IyNWI3MzY0N2E1Li5jNGJhMjQ5MmU5OTE5OWQ2NjYwNWE4
YzAxYWEwMTUxYjk2MjQ2MDc4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUt
cG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMt
cXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQKQEAg
LTEsNiArMSw2IEBACiAKLUZBSUwgUGVybWlzc2lvbnMuc3RhdGUgaXMgInByb21wdCIgd2l0aCBh
bGxvdz0iZ2VvbG9jYXRpb24iIGluIHNhbWUtb3JpZ2luIGlmcmFtZXMuIGFzc2VydF9lcXVhbHM6
IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9jYXRpb24iKSBleHBlY3RlZCAoc3Ry
aW5nKSAicHJvbXB0IiBidXQgZ290IChvYmplY3QpIG51bGwKLUZBSUwgUGVybWlzc2lvbnMuc3Rh
dGUgaXMgInByb21wdCIgd2l0aCBhbGxvdz0iZ2VvbG9jYXRpb24iIGluIGNyb3NzLW9yaWdpbiBp
ZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xv
Y2F0aW9uIikgZXhwZWN0ZWQgKHN0cmluZykgInByb21wdCIgYnV0IGdvdCAob2JqZWN0KSBudWxs
Ci1GQUlMIFBlcm1pc3Npb24uc3RhdGUgaXMgInByb21wdCIgaW4gc2FtZS1vcmlnaW4gaWZyYW1l
cy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KCJnZW9sb2NhdGlv
biIpIGV4cGVjdGVkIChzdHJpbmcpICJwcm9tcHQiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAotRkFJ
TCBQZXJtaXNzaW9uLnN0YXRlIGlzICJkZW5pZWQiIGluIGNyb3NzLW9yaWdpbiBpZnJhbWVzLiBh
c3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikg
ZXhwZWN0ZWQgKHN0cmluZykgImRlbmllZCIgYnV0IGdvdCAob2JqZWN0KSBudWxsCitQQVNTIFBl
cm1pc3Npb25zLnN0YXRlIGlzICJwcm9tcHQiIHdpdGggYWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBz
YW1lLW9yaWdpbiBpZnJhbWVzLgorUEFTUyBQZXJtaXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3
aXRoIGFsbG93PSJnZW9sb2NhdGlvbiIgaW4gY3Jvc3Mtb3JpZ2luIGlmcmFtZXMuCitQQVNTIFBl
cm1pc3Npb24uc3RhdGUgaXMgInByb21wdCIgaW4gc2FtZS1vcmlnaW4gaWZyYW1lcy4KK0ZBSUwg
UGVybWlzc2lvbi5zdGF0ZSBpcyAiZGVuaWVkIiBpbiBjcm9zcy1vcmlnaW4gaWZyYW1lcy4gYXNz
ZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4
cGVjdGVkICJkZW5pZWQiIGJ1dCBnb3QgInByb21wdCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9u
c3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNzdGF0dXMtbmFtZS1leHBlY3Rl
ZC50eHQKaW5kZXggMTFmYjFhMGQ2MTI0ZGE5NGUwMDFlN2RkOTIzZTAxN2NlNjllNzhiYS4uMGU0
ZWJjYzQ3Y2NiOTM4OTA4ZWNlODRjYzY4ZjE1M2QwODUzNzlhNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNz
aW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUt
ZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgUGVybWlzc2lvblN0YXR1
cydzIG5hbWUgYXR0cmlidXRlLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKSIKK1BBU1MgVGVzdCBQZXJt
aXNzaW9uU3RhdHVzJ3MgbmFtZSBhdHRyaWJ1dGUuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvc2NyZWVuLXdha2Ut
bG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9u
LWV4cGVjdGVkLnR4dAppbmRleCA4NWM3YmJhNWMyYjI0NTkzZjUxZTIxNDZiZTI1YmQxNmZhMDVm
ZjU4Li5kNjhiNjgwYjgxOWRlMTdjM2FkMzViZDU4ZTZmNTBkMTVhNmRiYWJkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25z
L3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9zY3JlZW4td2Fr
ZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRl
c3QgInNjcmVlbi13YWtlLWxvY2siIFBlcm1pc3Npb24uIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeScpIgor
RkFJTCBUZXN0ICJzY3JlZW4td2FrZS1sb2NrIiBQZXJtaXNzaW9uLiBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJy
b3IiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJt
aXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5k
ZXggOWE5NDI2OWZiNzQzOGZjNjNiZTE4ZDAwY2QyOTk3Y2M1OWJhOGRkNi4uNzg1YmI1ODVmNTE1
OTVmZGVhMDUyMzQxNjcyMzgxM2M4ZGIyMzE1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQt
ZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gt
cGVybWlzc2lvbi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCBCYWNr
Z3JvdW5kIEZldGNoIFBlcm1pc3Npb24uIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFs
dWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKQorUEFTUyBUZXN0IEJhY2tncm91
bmQgRmV0Y2ggUGVybWlzc2lvbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91
bmQtc3luYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5k
LXN5bmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXggMzE2ZDM1MWEwZTA3NTRiMWU1MDli
ZjNjYTBhZGE0YjY0ZGUzNTZhNy4uNGU5ZjM3YTg3NTZlYjE3YTJmYjg0ZjExNzAyYTE0M2E4NmI3
MDk5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1wZXJtaXNzaW9u
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dyb3VuZC1zeW5jLXBlcm1pc3Np
b24tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgUGVyaW9kaWMgQmFj
a2dyb3VuZCBTeW5jIFBlcm1pc3Npb24uIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeScpIgorRkFJTCBUZXN0
IFBlcmlvZGljIEJhY2tncm91bmQgU3luYyBQZXJtaXNzaW9uLiBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3Ii
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvZmFzdC9kb20vbmF2
aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azEvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVk
LnR4dAppbmRleCBjNDZmZWM2NDA1OThiZGY5YmZlYzViZmI3NTExZDY3MDg3ZWMxYjZlLi5lMDgx
NzAzNDU4MGEzZTJkMzJhMGMwYzVjNmRkY2Y1NDU3NTJjOTE2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFz
aC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9mYXN0L2Rv
bS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xMyw2ICsxMyw3
IEBAIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBpcyBPSwogbmF2aWdhdG9yLm1lZGlhU2Vz
c2lvbiBpcyBPSwogbmF2aWdhdG9yLm1pbWVUeXBlcyBpcyBPSwogbmF2aWdhdG9yLm9uTGluZSBp
cyBPSworbmF2aWdhdG9yLnBlcm1pc3Npb25zIGlzIE9LCiBuYXZpZ2F0b3IucGxhdGZvcm0gaXMg
T0sKIG5hdmlnYXRvci5wbHVnaW5zIGlzIE9LCiBuYXZpZ2F0b3IucHJvZHVjdCBpcyBPSwpAQCAt
MzYsNiArMzcsNyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgaXMgT0sKIG5hdmlnYXRv
ci5tZWRpYVNlc3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlwZXMgaXMgT0sKIG5hdmlnYXRv
ci5vbkxpbmUgaXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyBPSwogbmF2aWdhdG9yLnBs
YXRmb3JtIGlzIE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwogbmF2aWdhdG9yLnByb2R1Y3Qg
aXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20v
bmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVj
dGVkLnR4dAppbmRleCBkZjkwMTA5MDRkNTc3ZTg1YTA3NjY2N2E5MzdhZDc3ZTZkOGY1OTU3Li5j
NjhkM2NhMGIzMGNkY2VlN2RlMWViN2JlNDEzNjlhMGJlZGI4M2JhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1j
cmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0
L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xOCw2ICsx
OCw3IEBAIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBpcyBPSwogbmF2aWdhdG9yLm1lZGlh
U2Vzc2lvbiBpcyBPSwogbmF2aWdhdG9yLm1pbWVUeXBlcyBpcyBPSwogbmF2aWdhdG9yLm9uTGlu
ZSBpcyBPSworbmF2aWdhdG9yLnBlcm1pc3Npb25zIGlzIE9LCiBuYXZpZ2F0b3IucGxhdGZvcm0g
aXMgT0sKIG5hdmlnYXRvci5wbHVnaW5zIGlzIE9LCiBuYXZpZ2F0b3IucHJvZHVjdCBpcyBPSwpA
QCAtNTEsNiArNTIsNyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgaXMgT0sKIG5hdmln
YXRvci5tZWRpYVNlc3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlwZXMgaXMgT0sKIG5hdmln
YXRvci5vbkxpbmUgaXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyBPSwogbmF2aWdhdG9y
LnBsYXRmb3JtIGlzIE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwogbmF2aWdhdG9yLnByb2R1
Y3QgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
NmNlZTBmYTJkNGQ1ZGZmNmI5ZDYxODI3ZWVlM2U5MTRkOTc5Yjk0NS4uNDA4YzhiNDFiYzQzY2Ex
YjMzZjA2NDc5MTBhMmJhNWM2NjMzNmRiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTg2MCw0ICs4NjAsNSBAQCBmYXN0L3NwZWVjaHJlY29nbml0aW9u
L3Blcm1pc3Npb24tZXJyb3IuaHRtbCBbIFBhc3MgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9z
dGFydC1yZWNvZ25pdGlvbi10aGVuLXN0b3AuaHRtbCBbIFBhc3MgXQogZmFzdC9zcGVlY2hyZWNv
Z25pdGlvbi9zdGFydC1zZWNvbmQtcmVjb2duaXRpb24uaHRtbCBbIFBhc3MgXQogZnVsbHNjcmVl
bi9mdWxsLXNjcmVlbi1lbnRlci13aGlsZS1leGl0aW5nLmh0bWwgWyBQYXNzIF0KK2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvIFsgUGFzcyBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436760</attachid>
            <date>2021-08-30 02:21:23 -0700</date>
            <delta_ts>2021-08-30 09:47:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210830022122.patch</filename>
            <type>text/plain</type>
            <size>129548</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLmMwYjM2Yzc3NjIyZWQxNjljNzdlMzM3YzRiYzlmNTg2Njk0NzQ2
MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDgtMzAgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVu
Y2VzRXhwZXJpbWVudGFsLnlhbWw6CisKIDIwMjEtMDgtMjUgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHNvbWUgaU9TLXNwZWNpZmljIGNv
bXBpbGUtdGltZSBndWFyZHMgdGhhdCBhcmUgbm8gbG9uZ2VyIG5lZWRlZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGRhOTM1MmRkOGVmOWRjZDk1ZmJkNjcxMmI1NGViNGVlZmZlZDI1YzIuLmE2OGZlNDNmYjkwMzEy
ODZmOGI1YWIwYmM3OGNhMzM0YmQ2ZWJlYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3OCBAQAor
MjAyMS0wOC0zMCAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MjQ0
MjIwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgYmluZGluZ3MgY29kZSBhbmQgYSBmZWF0dXJlIGZsYWcgZm9yIFBlcm1pc3Npb25zIEFQSS4K
KyAgICAgICAgU3BlYzogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLworCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gUmViYXNlbGluZSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAg
ICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbDogQWRkZWQu
CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6Ok5hdmlnYXRv
clBlcm1pc3Npb25zKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpw
ZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6ZnJv
bSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6c3VwcGxlbWVudE5h
bWUpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMu
aDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uQ29udHJv
bGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0
b3I6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbkRlc2Ny
aXB0b3I6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3Jp
cHRvcjo6ZGVjb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uTmFtZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25OYW1lLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uT2JzZXJ2ZXIuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uU3RhdGUuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uU3RhdGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25TdGF0dXMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Np
b25TdGF0dXM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdHVzOjpQ
ZXJtaXNzaW9uU3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6On5Q
ZXJtaXNzaW9uU3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OnN0
YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdHVzOjphY3RpdmVE
T01PYmplY3ROYW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6
OnZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXR1czo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNz
aW9uU3RhdHVzOjpldmVudExpc3RlbmVyc0RpZENoYW5nZSk6CisgICAgICAgICogTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlBlcm1pc3Npb25zOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbnM6OlBl
cm1pc3Npb25zKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpuYXZpZ2F0b3IpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbnM6OnF1ZXJ5KToKKyAgICAgICAgKiBNb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cGVybWlzc2lvbkNvbnRyb2xsZXIp
OgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZh
Y3RvcnkuaW46CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnBlcm1pc3Npb25Db250cm9sbGVy
KToKKyAgICAgICAgKiBkb20vVGFza1NvdXJjZS5oOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNs
aWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFnZUNvbmZpZ3VyYXRpb25XaXRoRW1wdHlD
bGllbnRzKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bV9w
ZXJtaXNzaW9uQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpwZXJtaXNzaW9u
Q29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjptX2h0dHBzVXBncmFkZUVuYWJsZWQpOiBE
ZWxldGVkLgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbmZp
Z3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VD
b25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmg6CisKIDIw
MjEtMDgtMjUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBDcmFzaCBpbiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cmVzaGFwZURpc3BsYXlC
dWZmZXJCYWNraW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQyNDFiMmU2ZmE3ODU0ZjE1ZmQzM2M2Y2E5YzdmZWIz
N2JjMWRiMjEuLmUyNWFjOGRjZDI1NWJkZmRjYmE5ODRkMzFiMGYzZTNkN2RlM2MyYWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjEtMDgtMzAgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgU2V0IHVwIGJhc2ljIGluZnJhc3RyY3R1cmUgb2YgcGVybWlz
c2lvbiBnZXR0aW5nIGFuZCBzZXR0aW5nLgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBlcm1pc3Np
b25Db250cm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6
OnF1ZXJ5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnJlcXVl
c3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVlcnlDYWNo
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRhdGVDYWNo
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjp0cnlQcm9jZXNz
aW5nUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjph
ZGRPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjpy
ZW1vdmVPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVy
OjpwZXJtaXNzaW9uQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fYXBwSGlnaGxpZ2h0c1Zp
c2libGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hN
b25pdG9yTWFjLmg6CisKIDIwMjEtMDgtMjYgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVq
aWlAc29ueS5jb20+CiAKICAgICAgICAgW2N1cmxdIFJFR1JFU1NJT04ocjI4MTE1OCk6IGZldGNo
KCdodHRwOi8vbG9jYWxob3N0LycpIGZyb20gYWJvdXQ6YmxhbmsgZG9lc24ndCBlbWl0IHRoZSBj
b25zb2xlIGVycm9yIG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA0NWE1
NDg2ZTA1ODA1ZDk3YmMxZTQ4YjQ0ZjkzZGEzMDMyOGE2YTFkLi40OWNkZTQ0MjMyMDdlYmEzNTA1
NmE4NWVmNGQ1ZWNiODhiYjM5ZDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMjEtMDgtMzAgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2Nv
bW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6XSk6CisgICAgICAgICgt
W1dlYlZpZXcgaW5pdFNpbXBsZUhUTUxEb2N1bWVudFdpdGhTdHlsZTpmcmFtZTpwcmVmZXJlbmNl
czpncm91cE5hbWU6XSk6CisKIDIwMjEtMDgtMjQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBbV0syXSBJbXBsZW1lbnQgcHJvY2Vzcy1zd2FwcGluZyBiYXNlZCBv
biBDcm9zcy1PcmlnaW4tT3BlbmVyLVBvbGljeSBIVFRQIGhlYWRlcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
Q2hhbmdlTG9nCmluZGV4IGUyODE1MTAyOThhOGM3MzY0MWRjNDA0OTU2OTdhMmRmNDVhNTEzY2Eu
LjdjZTNiZDc5ZjE4ZGYyNTE2YjUxNGRmYjk3YWYzZWNmZDc4NjYzY2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wOC0zMCAgU2lodWkgTGl1ICA8
c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25z
IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5
MzM5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MjQ0MjIwNT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAo
V2ViVmlldzo6aW5pdFdpdGhGcmFtZSk6CisKIDIwMjEtMDgtMjQgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbV0syXSBJbXBsZW1lbnQgcHJvY2Vzcy1zd2FwcGlu
ZyBiYXNlZCBvbiBDcm9zcy1PcmlnaW4tT3BlbmVyLVBvbGljeSBIVFRQIGhlYWRlcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJp
bWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWwueWFtbAppbmRleCAxODVhNWFjMGY0NTRjNzZjMDM0NzkyYWQxODU3NjFm
Y2NhNjk0OTkxLi41NTU0NjAwZGJjNjY1OGZhMWNhYjJkMDU4Y2Q1MzVkYWY1MjkzMWM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBl
cmltZW50YWwueWFtbAorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJl
ZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbApAQCAtODgxLDYgKzg4MSwxOCBAQCBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nU2Vuc2l0aXZlUHJvcGVydGllc0VuYWJsZWQ6CiAgICAgV2ViQ29yZToK
ICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKK1Blcm1pc3Npb25zQVBJRW5hYmxlZDoKKyAgdHlwZTog
Ym9vbAorICBodW1hblJlYWRhYmxlTmFtZTogIlBlcm1pc3Npb25zIEFQSSIKKyAgaHVtYW5SZWFk
YWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFBlcm1pc3Npb25zIEFQSSIKKyAgZGVmYXVsdFZhbHVl
OgorICAgIFdlYktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0Ogor
ICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UK
KwogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREZWJ1Z01vZGVFbmFibGVkOgogICB0eXBlOiBib29s
CiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudCBEZWJ1ZyBN
b2RlIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBiYmI4NDJhNTM5YTEwODdjOWUxZGI0NjNkMDE5
ZGQyYjEyMzE0MmM5Li4wN2U1ZTA1NThmNmRkZDQxMWVjNGNmNTk2ZGUzNDNmNDgzYzA5NzdiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDgsNiArNDgsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRF
X0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9uYXZpZ2F0
b3Jjb250ZW50dXRpbHMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbm90aWZpY2F0aW9u
cyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9wYXltZW50cmVxdWVzdCIKKyAgICAiJHtX
RUJDT1JFX0RJUn0vTW9kdWxlcy9wZXJtaXNzaW9ucyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9k
dWxlcy9waWN0dXJlaW5waWN0dXJlIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3BsdWdp
bnMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcmVtb3RlcGxheWJhY2siCkBAIC0yMDEs
NiArMjAyLDcgQEAgc2V0KFdlYkNvcmVfSURMX0lOQ0xVREVTCiAgICAgTW9kdWxlcy9tb2RlbC1l
bGVtZW50CiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zCiAgICAgTW9kdWxlcy9wYXltZW50cmVx
dWVzdAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMKICAgICBNb2R1bGVzL3NwZWVjaAogICAgIE1v
ZHVsZXMvc3RyZWFtcwogICAgIE1vZHVsZXMvd2ViYXVkaW8KQEAgLTQ2MCw2ICs0NjIsMTMgQEAg
c2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0
L1BheW1lbnRTaGlwcGluZ1R5cGUuaWRsCiAgICAgTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXlt
ZW50VmFsaWRhdGlvbkVycm9ycy5pZGwKIAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdh
dG9yK1Blcm1pc3Npb25zLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRl
c2NyaXB0b3IuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwK
KyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwKKyAgICBNb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9ucy5pZGwKKwogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVu
dCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1
bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogICAgIE1vZHVsZXMvcGljdHVy
ZWlucGljdHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDM5YjJiMzAwNGU0YzU3
OTQzN2U2NWFjYTk3MzI3Yzc4ZDRkNzQ1ZGUuLjUxMWI1MTMxMjAwYWJlYzgzYmU0OTA3YTdiZTQx
OTIzYTYyZjM2OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQu
eGNmaWxlbGlzdApAQCAtMzg4LDYgKzM4OCwxMiBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdUeXBlLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVycm9ycy5pZGwK
KyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25z
LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3Jp
cHRvci5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5h
bWUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1
cy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGljdHVy
ZUluUGljdHVyZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9E
b2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmlkbApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRl
eCAxOTY3MWY3NTA2ZDZhNzkzNzRjNWVhNDVhYzc3MWZjN2YxYjc5NTJiLi45YjQ4NGFiYTQ4YzJj
NWNmYzYwYWNlZWVjMjkzZWJjYTljMzk3MWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTM3Nyw2ICsxMzc3LDggQEAgJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFE
ZXZpY2VzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNOYXZpZ2F0b3IrTWVkaWFEZXZpY2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vzc2lvbi5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK01lZGlhU2Vzc2lv
bi5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmln
YXRvcitQZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTmF2aWdhdG9yK1Blcm1pc3Npb25zLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dlYkRyaXZlci5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dlYkRy
aXZlci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05h
dmlnYXRvcitXZWJYUi5jcHAKQEAgLTE1ODMsNiArMTU4NSwxNiBAQCAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZUNvbnN0cmFpbnRzLmNw
cAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJpb2Rp
Y1dhdmVDb25zdHJhaW50cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZU9wdGlvbnMuaAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uRGVzY3JpcHRv
ci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJtaXNzaW9uTmFtZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbk5hbWUuaAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uU3RhdGUuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0ZS5o
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Np
b25TdGF0dXMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1Blcm1pc3Npb25TdGF0dXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQaWN0dXJlSW5QaWN0
dXJlV2luZG93LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUGxheWJhY2tEaXJlY3Rpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRl
eCBkNjRlNjVlODZlNWUxMTQyNjY3YTllMzgyNzY4M2E5NjkyZjI3YWYxLi5mOWVlNjQyOGJhMGE1
NGQ1NGMwMjU3YWE2ZDZhMDAwMWUyZTQyMWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKQEAgLTMyNCw2ICszMjQsMTIgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nT3B0aW9uLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ1R5cGUu
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFZhbGlk
YXRpb25FcnJvcnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2
aWdhdG9yK1Blcm1pc3Npb25zLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Bp
Y3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRPclNoYWRvd1Jvb3QrUGljdHVyZUluUGljdHVyZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50K1BpY3R1
cmVJblBpY3R1cmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlucGljdHVy
ZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXgg
ZWIwN2I4MGM5OTMzZDY5YThjMzYzMTkxOGM3NWRiZTRlMzdhOTJiOC4uNzZjZTBjNjYxZmVlODMw
ZDE3NmUzNjFmNTc5ODczNWM3YWUxZTBjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMjksNiAr
MTI5LDEyIEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBNb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbi5oCiAgICAgTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oCiAKKyAgICBNb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgKKyAgICBNb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25OYW1lLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZl
ci5oCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaAorCiAgICAgTW9k
dWxlcy9wbHVnaW5zL1BsdWdpblJlcGxhY2VtZW50LmgKICAgICBNb2R1bGVzL3BsdWdpbnMvWW91
VHViZVBsdWdpblJlcGxhY2VtZW50LmgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjYwYjEyN2U3ZjNhMWM1NjY2Y2QwZDBjODhmZTkxMWU5NmM4MzRmNjUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJt
aXNzaW9ucy5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNj
LmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jbmF2aWdhdG9yLWFuZC13b3JrZXJuYXZpZ2F0b3ItZXh0
ZW5zaW9uCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAorICAgIElt
cGxlbWVudGVkQnk9TmF2aWdhdG9yUGVybWlzc2lvbnMKK10gcGFydGlhbCBpbnRlcmZhY2UgTmF2
aWdhdG9yIHsKKyAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFBlcm1pc3Npb25z
IHBlcm1pc3Npb25zOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkxZjU1
NTg4NmQ4ZTcxYTM0OWVlNzViZjNjNDE2ZjAyZjFjNDdhYgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3Bw
CkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiTmF2aWdhdG9yUGVybWlzc2lvbnMuaCIKKworI2luY2x1ZGUgIk5hdmlnYXRvci5oIgor
I2luY2x1ZGUgIlBlcm1pc3Npb25zLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTmF2aWdh
dG9yUGVybWlzc2lvbnM6Ok5hdmlnYXRvclBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9y
KQorICAgIDogbV9uYXZpZ2F0b3IobmF2aWdhdG9yKQoreworfQorCitSZWZQdHI8UGVybWlzc2lv
bnM+IE5hdmlnYXRvclBlcm1pc3Npb25zOjpwZXJtaXNzaW9ucyhOYXZpZ2F0b3ImIG5hdmlnYXRv
cikKK3sKKyAgICByZXR1cm4gTmF2aWdhdG9yUGVybWlzc2lvbnM6OmZyb20obmF2aWdhdG9yKS0+
cGVybWlzc2lvbnMoKTsKK30KKworUmVmUHRyPFBlcm1pc3Npb25zPiBOYXZpZ2F0b3JQZXJtaXNz
aW9uczo6cGVybWlzc2lvbnMoKQoreworICAgIGlmICghbV9wZXJtaXNzaW9ucykKKyAgICAgICAg
bV9wZXJtaXNzaW9ucyA9IFBlcm1pc3Npb25zOjpjcmVhdGUobV9uYXZpZ2F0b3IpOworCisgICAg
cmV0dXJuIG1fcGVybWlzc2lvbnM7Cit9CisKK05hdmlnYXRvclBlcm1pc3Npb25zKiBOYXZpZ2F0
b3JQZXJtaXNzaW9uczo6ZnJvbShOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICBhdXRvKiBz
dXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8TmF2aWdhdG9yUGVybWlzc2lvbnMqPihTdXBwbGVtZW50
PE5hdmlnYXRvcj46OmZyb20oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSkpOworICAgIGlm
ICghc3VwcGxlbWVudCkgeworICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVl
PE5hdmlnYXRvclBlcm1pc3Npb25zPihuYXZpZ2F0b3IpOworICAgICAgICBzdXBwbGVtZW50ID0g
bmV3U3VwcGxlbWVudC5nZXQoKTsKKyAgICAgICAgcHJvdmlkZVRvKCZuYXZpZ2F0b3IsIHN1cHBs
ZW1lbnROYW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOworICAgIH0KKworICAgIHJldHVy
biBzdXBwbGVtZW50OworfQorCitjb25zdCBjaGFyKiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6c3Vw
cGxlbWVudE5hbWUoKQoreworICAgIHJldHVybiAiTmF2aWdhdG9yUGVybWlzc2lvbnMiOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBh
NzM5ZGE3MTQ0MGM3YTMzYjIzMmNhZTk4MzUyMDE5ZmRhNDQ0YwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMu
aApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
ICJTdXBwbGVtZW50YWJsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmln
YXRvcjsKK2NsYXNzIFBlcm1pc3Npb25zOworCitjbGFzcyBOYXZpZ2F0b3JQZXJtaXNzaW9ucyBm
aW5hbCA6IHB1YmxpYyBTdXBwbGVtZW50PE5hdmlnYXRvcj4geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworcHVibGljOgorICAgIGV4cGxpY2l0IE5hdmlnYXRvclBlcm1pc3Npb25zKE5h
dmlnYXRvciYpOworCisgICAgc3RhdGljIFJlZlB0cjxQZXJtaXNzaW9ucz4gcGVybWlzc2lvbnMo
TmF2aWdhdG9yJik7CisgICAgUmVmUHRyPFBlcm1pc3Npb25zPiBwZXJtaXNzaW9ucygpOworCitw
cml2YXRlOgorICAgIHN0YXRpYyBOYXZpZ2F0b3JQZXJtaXNzaW9ucyogZnJvbShOYXZpZ2F0b3Im
KTsKKyAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKKworICAgIFJlZlB0
cjxQZXJtaXNzaW9ucz4gbV9wZXJtaXNzaW9uczsKKyAgICBOYXZpZ2F0b3ImIG1fbmF2aWdhdG9y
OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uQ29udHJvbGxlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZhN2QzYWE2NGVmNjFlM2I0
NWU1Yzk0OTFlNmU5MzU1MTI1MzUzMWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgKQEAgLTAsMCArMSw1
NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVybWlzc2lvblN0
YXRlLmgiCisjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CisjaW5jbHVkZSA8d3Rm
L1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
UGVybWlzc2lvbk9ic2VydmVyOworc3RydWN0IENsaWVudE9yaWdpbjsKK3N0cnVjdCBQZXJtaXNz
aW9uRGVzY3JpcHRvcjsKKworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXIgOiBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8UGVybWlzc2lvbkNvbnRyb2xsZXI+IHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJtaXNzaW9uQ29udHJvbGxl
cigpID0gZGVmYXVsdDsKKyAgICB2aXJ0dWFsIFBlcm1pc3Npb25TdGF0ZSBxdWVyeShDbGllbnRP
cmlnaW4mJiwgUGVybWlzc2lvbkRlc2NyaXB0b3ImJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBy
ZXF1ZXN0KENsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFBlcm1pc3Npb25TdGF0ZSk+JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
YWRkT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBy
ZW1vdmVPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSA9IDA7Cit9OworCitjbGFzcyBEdW1t
eVBlcm1pc3Npb25Db250cm9sbGVyIGZpbmFsIDogcHVibGljIFBlcm1pc3Npb25Db250cm9sbGVy
IHsKKyAgICBQZXJtaXNzaW9uU3RhdGUgcXVlcnkoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25E
ZXNjcmlwdG9yJiYpIGZpbmFsIHsgcmV0dXJuIFBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkOyB9Cisg
ICAgdm9pZCByZXF1ZXN0KENsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFBlcm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRs
ZXIpIGZpbmFsIHsgY29tcGxldGlvbkhhbmRsZXIoUGVybWlzc2lvblN0YXRlOjpEZW5pZWQpOyB9
CisgICAgdm9pZCBhZGRPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSBmaW5hbCB7IH0KKyAg
ICB2b2lkIHJlbW92ZU9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpIGZpbmFsIHsgfQorfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRl
ODRiMmQ0Yzc3YTk4ZTk1YjY2NDk4ZGM0ZDBiMzhhOTA4OWUxZTUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9y
LmgKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSAiUGVybWlzc2lvbk5hbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUGVy
bWlzc2lvbkRlc2NyaXB0b3IgeworICAgIFBlcm1pc3Npb25OYW1lIG5hbWU7CisKKyAgICBib29s
IG9wZXJhdG9yPT0oY29uc3QgUGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IpIGNvbnN0
IHsgcmV0dXJuIG5hbWUgPT0gZGVzY3JpcHRvci5uYW1lOyB9CisgICAgdGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFBlcm1pc3Npb25EZXNjcmlwdG9yPiBkZWNv
ZGUoRGVjb2RlciYpOworfTsKKwordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gaW5saW5lIHZvaWQg
UGVybWlzc2lvbkRlc2NyaXB0b3I6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAorewor
ICAgIGVuY29kZXIgPDwgbmFtZTsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RkOjpv
cHRpb25hbDxQZXJtaXNzaW9uRGVzY3JpcHRvcj4gUGVybWlzc2lvbkRlc2NyaXB0b3I6OmRlY29k
ZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIFBlcm1pc3Npb25EZXNjcmlwdG9yIHJlc3VsdDsK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5uYW1lKSkKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGYzNmEzMmEyY2NjZDMzOTkz
OWI3ZGU4MzVkZmVkYmJmNGY1N2NjOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEs
MzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMv
I2RpY3RkZWYtcGVybWlzc2lvbmRlc2NyaXB0b3IKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9
UGVybWlzc2lvbnNBUEksCitdIGRpY3Rpb25hcnkgUGVybWlzc2lvbkRlc2NyaXB0b3IgeworICAg
IHJlcXVpcmVkIFBlcm1pc3Npb25OYW1lIG5hbWU7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkMjgz
ZjE2OTQyYzA1ZDIzMWMzYTlmZGJiY2QyYWI3ZTRmOTg4OTMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmgKQEAgLTAs
MCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0Vu
dW1UcmFpdHMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIFBlcm1pc3Np
b25OYW1lIDogdWludDhfdCB7CisgICAgQWNjZWxlcm9tZXRlciwKKyAgICBCYWNrZ3JvdW5kRmV0
Y2gsCisgICAgQmx1ZXRvb3RoLAorICAgIENhbWVyYSwKKyAgICBEaXNwbGF5Q2FwdHVyZSwKKyAg
ICBHZW9sb2NhdGlvbiwKKyAgICBHeXJvc2NvcGUsCisgICAgTWFnbmV0b21ldGVyLAorICAgIE1p
Y3JvcGhvbmUsCisgICAgTWlkaSwKKyAgICBOZmMsCisgICAgTm90aWZpY2F0aW9ucywKKyAgICBT
cGVha2VyU2VsZWN0aW9uCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFj
ZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlBlcm1pc3Np
b25OYW1lPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29y
ZTo6UGVybWlzc2lvbk5hbWUsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpBY2Nl
bGVyb21ldGVyLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6QmFja2dyb3VuZEZl
dGNoLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6Qmx1ZXRvb3RoLAorICAgICAg
ICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6Q2FtZXJhLAorICAgICAgICBXZWJDb3JlOjpQZXJt
aXNzaW9uTmFtZTo6RGlzcGxheUNhcHR1cmUsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25O
YW1lOjpHZW9sb2NhdGlvbiwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Okd5cm9z
Y29wZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok1hZ25ldG9tZXRlciwKKyAg
ICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok1pY3JvcGhvbmUsCisgICAgICAgIFdlYkNv
cmU6OlBlcm1pc3Npb25OYW1lOjpNaWRpLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFt
ZTo6TmZjLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6Tm90aWZpY2F0aW9ucywK
KyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6OlNwZWFrZXJTZWxlY3Rpb24KKyAgICA+
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1NWE3MWY4
Mjk1ZTBkMDE5NjU4NjRmZDExYjA5OTMwNWFjYWJiZmIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbApAQCAtMCww
ICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Np
b25zLyNlbnVtZGVmLXBlcm1pc3Npb25uYW1lCisKK2VudW0gUGVybWlzc2lvbk5hbWUgeworICAg
IC8vIEZJWE1FOiB1cGRhdGUgdGhlIGxpc3QgdG8gbWF0Y2ggc3BlYyB3aGVuIG5ldyBmZWF0dXJl
cyBhcmUgaW1wbGVtZW50ZWQuCisgICAgImFjY2VsZXJvbWV0ZXIiLAorICAgICJiYWNrZ3JvdW5k
LWZldGNoIiwKKyAgICAiYmx1ZXRvb3RoIiwKKyAgICAiY2FtZXJhIiwKKyAgICAiZGlzcGxheS1j
YXB0dXJlIiwKKyAgICAiZ2VvbG9jYXRpb24iLAorICAgICJneXJvc2NvcGUiLAorICAgICJtYWdu
ZXRvbWV0ZXIiLAorICAgICJtaWNyb3Bob25lIiwKKyAgICAibWlkaSIsCisgICAgIm5mYyIsCisg
ICAgIm5vdGlmaWNhdGlvbnMiLAorICAgICJzcGVha2VyLXNlbGVjdGlvbiIKK307CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZl
ci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uT2JzZXJ2
ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMTdkNmRhNTkxZDdkNjRhYmVhYjhjYmNiYTYzYmMxYTFmMjViMGE4
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uT2JzZXJ2ZXIuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdGUuaCIKKyNpbmNsdWRlIDx3dGYvV2Vh
a1B0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBDbGllbnRPcmlnaW47Citz
dHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7CisKK2NsYXNzIFBlcm1pc3Npb25PYnNlcnZlciA6
IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQZXJtaXNzaW9uT2JzZXJ2ZXI+IHsKK3B1YmxpYzoKKyAg
ICB2aXJ0dWFsIH5QZXJtaXNzaW9uT2JzZXJ2ZXIoKSA9IGRlZmF1bHQ7CisKKyAgICB2aXJ0dWFs
IHZvaWQgc3RhdGVDaGFuZ2VkKFBlcm1pc3Npb25TdGF0ZSkgPSAwOworICAgIHZpcnR1YWwgY29u
c3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4oKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBjb25zdCBQ
ZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNvbnN0ID0gMDsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjYWRmNTIwMWUwYzM3YjMwZjRi
NzJlYTA4MDQwODU4NGI4ODg0ODQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCkBAIC0wLDAgKzEsNTEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRzLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBQZXJtaXNzaW9uU3RhdGUgOiB1aW50
OF90IHsKKyAgICBHcmFudGVkLAorICAgIERlbmllZCwKKyAgICBQcm9tcHQKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0
IEVudW1UcmFpdHM8V2ViQ29yZTo6UGVybWlzc2lvblN0YXRlPiB7CisgICAgdXNpbmcgdmFsdWVz
ID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlLAorICAgICAg
ICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkdyYW50ZWQsCisgICAgICAgIFdlYkNvcmU6OlBl
cm1pc3Npb25TdGF0ZTo6RGVuaWVkLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6
OlByb21wdAorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42NGQyZjNhMmExMTRhN2FkY2M1ZmE0NzdiODAzZjlhYTBkOTQ3MjI2Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
U3RhdGUuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5n
aXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1kZWYtcGVybWlzc2lvbnN0YXRlCisKK2VudW0gUGVy
bWlzc2lvblN0YXRlIHsKKyAgICAiZ3JhbnRlZCIsCisgICAgImRlbmllZCIsCisgICAgInByb21w
dCIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25TdGF0dXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uU3RhdHVzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTIzNWZjNmUwMjhiMjYzZmZjNDE2OWQ4
OGIzMDI0NDU1MGQzMTJjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcApAQCAtMCwwICsxLDEwNiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdHVz
LmgiCisKKyNpbmNsdWRlICJDbGllbnRPcmlnaW4uaCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgor
I2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uQ29udHJvbGxlci5o
IgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFBlcm1pc3Npb25TdGF0dXMpOworCitS
ZWY8UGVybWlzc2lvblN0YXR1cz4gUGVybWlzc2lvblN0YXR1czo6Y3JlYXRlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIGNvbnRleHQsIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSwgUGVybWlzc2lvbkRl
c2NyaXB0b3IgZGVzY3JpcHRvcikKK3sKKyAgICBhdXRvIHN0YXR1cyA9IGFkb3B0UmVmKCpuZXcg
UGVybWlzc2lvblN0YXR1cyhjb250ZXh0LCBzdGF0ZSwgZGVzY3JpcHRvcikpOworICAgIHN0YXR1
cy0+c3VzcGVuZElmTmVlZGVkKCk7CisgICAgcmV0dXJuIHN0YXR1czsKK30KKworUGVybWlzc2lv
blN0YXR1czo6UGVybWlzc2lvblN0YXR1cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
LCBQZXJtaXNzaW9uU3RhdGUgc3RhdGUsIFBlcm1pc3Npb25EZXNjcmlwdG9yIGRlc2NyaXB0b3Ip
CisgICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCisgICAgLCBtX3N0YXRlKHN0YXRlKQor
ICAgICwgbV9kZXNjcmlwdG9yKGRlc2NyaXB0b3IpCisgICAgLCBtX2NvbnRyb2xsZXIoY29udGV4
dC5wZXJtaXNzaW9uQ29udHJvbGxlcigpKQoreworICAgIGF1dG8qIG9yaWdpbiA9IGNvbnRleHQu
c2VjdXJpdHlPcmlnaW4oKTsKKyAgICBhdXRvIG9yaWdpbkRhdGEgPSBvcmlnaW4gPyBvcmlnaW4t
PmRhdGEoKSA6IFNlY3VyaXR5T3JpZ2luRGF0YSB7IH07CisgICAgbV9vcmlnaW4gPSBDbGllbnRP
cmlnaW4geyBjb250ZXh0LnRvcE9yaWdpbigpLmRhdGEoKSwgb3JpZ2luRGF0YSB9OworfQorCitQ
ZXJtaXNzaW9uU3RhdHVzOjp+UGVybWlzc2lvblN0YXR1cygpCit7CisgICAgaWYgKG1fY29udHJv
bGxlcikKKyAgICAgICAgbV9jb250cm9sbGVyLT5yZW1vdmVPYnNlcnZlcigqdGhpcyk7Cit9CisK
K3ZvaWQgUGVybWlzc2lvblN0YXR1czo6c3RhdGVDaGFuZ2VkKFBlcm1pc3Npb25TdGF0ZSBuZXdT
dGF0ZSkKK3sKKyAgICBpZiAobV9zdGF0ZSA9PSBuZXdTdGF0ZSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgbV9zdGF0ZSA9IG5ld1N0YXRlOworICAgIG1faGFzUGVuZGluZ0FjdGl2aXR5ID0gdHJ1
ZTsKKyAgICBxdWV1ZVRhc2tUb0Rpc3BhdGNoRXZlbnQoKnRoaXMsIFRhc2tTb3VyY2U6OlBlcm1p
c3Npb24sIEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50LCBFdmVudDo6Q2Fu
QnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKK30KKworY29uc3QgY2hhciog
UGVybWlzc2lvblN0YXR1czo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuICJQZXJtaXNzaW9uU3RhdHVzIjsKK30KKworYm9vbCBQZXJtaXNzaW9uU3RhdHVzOjp2aXJ0
dWFsSGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKK3sKKyAgICBpZiAobV9oYXNQZW5kaW5nQWN0
aXZpdHkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgaWYgKG1faGFzUmVsZXZhbnRFdmVu
dExpc3RlbmVyKSB7CisgICAgICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCk7CisgICAgICAgIGlmIChjb250ZXh0ICYmIGNvbnRleHQtPmlzRG9jdW1lbnQoKSkKKyAg
ICAgICAgICAgIHJldHVybiBkb3duY2FzdDxEb2N1bWVudD4oKmNvbnRleHQpLmhhc0Jyb3dzaW5n
Q29udGV4dCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK3ZvaWQgUGVybWlzc2lvblN0YXR1czo6ZGlzcGF0Y2hFdmVudChFdmVudCYgZXZl
bnQpCit7CisgICAgaWYgKG1faGFzUGVuZGluZ0FjdGl2aXR5ICYmIGV2ZW50LmlzVHJ1c3RlZCgp
KQorICAgICAgICBtX2hhc1BlbmRpbmdBY3Rpdml0eSA9IGZhbHNlOworCisgICAgRXZlbnRUYXJn
ZXQ6OmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfQorCit2b2lkIFBlcm1pc3Npb25TdGF0dXM6OmV2
ZW50TGlzdGVuZXJzRGlkQ2hhbmdlKCkKK3sKKyAgICBtX2hhc1JlbGV2YW50RXZlbnRMaXN0ZW5l
ciA9IGhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzA1MGJhM2E4NjAxYzNm
ZjBkNDQ2ZDgzNDFmZjJkNzYzMTUxNWM4ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5oCkBAIC0wLDAgKzEsODQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVj
dC5oIgorI2luY2x1ZGUgIkNsaWVudE9yaWdpbi5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0Lmgi
CisjaW5jbHVkZSAiUGVybWlzc2lvbkRlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9u
TmFtZS5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25PYnNlcnZlci5oIgorI2luY2x1ZGUgIlBlcm1p
c3Npb25TdGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBlcm1pc3Npb25D
b250cm9sbGVyOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3MgUGVybWlz
c2lvblN0YXR1cyBmaW5hbCA6IHB1YmxpYyBQZXJtaXNzaW9uT2JzZXJ2ZXIsIHB1YmxpYyBBY3Rp
dmVET01PYmplY3QsIHB1YmxpYyBSZWZDb3VudGVkPFBlcm1pc3Npb25TdGF0dXM+LCBwdWJsaWMg
RXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSAgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
UGVybWlzc2lvblN0YXR1cyk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJtaXNzaW9uU3Rh
dHVzPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFBlcm1pc3Npb25TdGF0ZSwgUGVy
bWlzc2lvbkRlc2NyaXB0b3IpOworICAgIH5QZXJtaXNzaW9uU3RhdHVzKCk7CisKKyAgICBQZXJt
aXNzaW9uU3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CisgICAgUGVybWlz
c2lvbk5hbWUgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVzY3JpcHRvci5uYW1lOyB9CisKKyAg
ICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDo6ZGVyZWY7CisK
KyAgICB1c2luZyBQZXJtaXNzaW9uT2JzZXJ2ZXI6OndlYWtQdHJGYWN0b3J5OworICAgIHVzaW5n
IFdlYWtWYWx1ZVR5cGUgPSBQZXJtaXNzaW9uT2JzZXJ2ZXI6OldlYWtWYWx1ZVR5cGU7CisKK3By
aXZhdGU6CisgICAgUGVybWlzc2lvblN0YXR1cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUGVy
bWlzc2lvblN0YXRlLCBQZXJtaXNzaW9uRGVzY3JpcHRvcik7CisKKyAgICAvLyBQZXJtaXNzaW9u
T2JzZXJ2ZXIKKyAgICB2b2lkIHN0YXRlQ2hhbmdlZChQZXJtaXNzaW9uU3RhdGUpIGZpbmFsOwor
ICAgIGNvbnN0IENsaWVudE9yaWdpbiYgb3JpZ2luKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9v
cmlnaW47IH0KKyAgICBjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1fZGVzY3JpcHRvcjsgfQorCisgICAgLy8gQWN0aXZlRE9NT2Jq
ZWN0CisgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOwor
ICAgIGJvb2wgdmlydHVhbEhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0IGZpbmFsOworCisgICAg
Ly8gRXZlbnRUYXJnZXQKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCk7IH0KKyAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdl
dEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFBlcm1pc3Npb25TdGF0dXNFdmVudFRh
cmdldEludGVyZmFjZVR5cGU7IH0KKyAgICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBy
ZWYoKTsgfQorICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQor
ICAgIHZvaWQgZGlzcGF0Y2hFdmVudChFdmVudCYpIGZpbmFsOworICAgIHZvaWQgZXZlbnRMaXN0
ZW5lcnNEaWRDaGFuZ2UoKSBmaW5hbDsKKworICAgIFBlcm1pc3Npb25TdGF0ZSBtX3N0YXRlOwor
ICAgIFBlcm1pc3Npb25EZXNjcmlwdG9yIG1fZGVzY3JpcHRvcjsKKyAgICBDbGllbnRPcmlnaW4g
bV9vcmlnaW47CisgICAgUmVmUHRyPFBlcm1pc3Npb25Db250cm9sbGVyPiBtX2NvbnRyb2xsZXI7
CisgICAgYm9vbCBtX2hhc1BlbmRpbmdBY3Rpdml0eSB7IGZhbHNlIH07CisgICAgc3RkOjphdG9t
aWM8Ym9vbD4gbV9oYXNSZWxldmFudEV2ZW50TGlzdGVuZXI7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25TdGF0dXMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uU3RhdHVzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjc4MTQyZTY5OWUyMGU2YmU4NmNj
NWNlMjA1NmQxZGViNjkyZWQwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbApAQCAtMCwwICsxLDM2IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKyAKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jcGVybWlz
c2lvbnN0YXR1cworCitbCisgICAgQWN0aXZlRE9NT2JqZWN0LAorICAgIEVuYWJsZWRCeVNldHRp
bmc9UGVybWlzc2lvbnNBUEksCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKK10gaW50ZXJm
YWNlIFBlcm1pc3Npb25TdGF0dXMgOiBFdmVudFRhcmdldCB7CisgICAgcmVhZG9ubHkgYXR0cmli
dXRlIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgUGVybWlz
c2lvbk5hbWUgbmFtZTsKKyAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uY2hhbmdlOworfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bnMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYmFkMzRjOTRhYjM0NzcyYzdlYjY2NjcyZGEyYzA4NjZkMThiOTM4OAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbnMuY3BwCkBAIC0wLDAgKzEsOTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbnMuaCIKKworI2luY2x1ZGUgIkV4Y2VwdGlvbi5o
IgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
KyNpbmNsdWRlICJKU1Blcm1pc3Npb25EZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiSlNQZXJtaXNz
aW9uU3RhdHVzLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVkZSAiUGFnZS5oIgor
I2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkRl
c2NyaXB0b3IuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChQZXJtaXNzaW9ucyk7
CisKK1JlZjxQZXJtaXNzaW9ucz4gUGVybWlzc2lvbnM6OmNyZWF0ZShOYXZpZ2F0b3ImIG5hdmln
YXRvcikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJtaXNzaW9ucyhuYXZpZ2F0b3Ip
KTsKK30KKworUGVybWlzc2lvbnM6OlBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9yKQor
ICAgIDogbV9uYXZpZ2F0b3IobWFrZVdlYWtQdHIobmF2aWdhdG9yKSkKK3sKKyAgICBpZiAoYXV0
byBjb250ZXh0ID0gbmF2aWdhdG9yLnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKKyAgICAgICAg
bV9jb250cm9sbGVyID0gY29udGV4dC0+cGVybWlzc2lvbkNvbnRyb2xsZXIoKTsKK30KKworTmF2
aWdhdG9yKiBQZXJtaXNzaW9uczo6bmF2aWdhdG9yKCkKK3sKKyAgICByZXR1cm4gbV9uYXZpZ2F0
b3IuZ2V0KCk7Cit9CisKK3ZvaWQgUGVybWlzc2lvbnM6OnF1ZXJ5KEpTQzo6U3Ryb25nPEpTQzo6
SlNPYmplY3Q+IHBlcm1pc3Npb25EZXNjcmlwdG9yVmFsdWUsIERPTVByb21pc2VEZWZlcnJlZDxJ
RExJbnRlcmZhY2U8UGVybWlzc2lvblN0YXR1cz4+JiYgcHJvbWlzZSkKK3sKKyAgICAvLyBGSVhN
RTogc3VwcG9ydCBwZXJtaXNzaW9ucyBpbiBXb3JrZXJOYXZpZ2F0b3IuCisgICAgaWYgKCFtX2Nv
bnRyb2xsZXIpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9y
dGVkRXJyb3IgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIGNvbnRleHQg
PSBtX25hdmlnYXRvciA/IG1fbmF2aWdhdG9yLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgOiBu
dWxscHRyOworICAgIGlmICghY29udGV4dCB8fCAhY29udGV4dC0+Z2xvYmFsT2JqZWN0KCkpIHsK
KyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJU
aGUgY29udGV4dCBpcyBpbnZhbGlkIiB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGlmICghcGVybWlzc2lvbkRlc2NyaXB0b3JWYWx1ZSkgeworICAgICAgICBwcm9taXNlLnJlamVj
dChFeGNlcHRpb24geyBEYXRhRXJyb3IsICJUaGUgcGFyYW1ldGVyIGlzIGludmFsaWQiX3MgfSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBKU0M6OlZNJiB2bSA9IGNvbnRleHQtPmds
b2JhbE9iamVjdCgpLT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BF
KHZtKTsKKyAgICBhdXRvIHBhcmFtZXRlckRlc2NyaXB0b3IgPSBjb252ZXJ0PElETERpY3Rpb25h
cnk8UGVybWlzc2lvbkRlc2NyaXB0b3I+PigqY29udGV4dC0+Z2xvYmFsT2JqZWN0KCksIHBlcm1p
c3Npb25EZXNjcmlwdG9yVmFsdWUuZ2V0KCkpOworICAgIGlmIChVTkxJS0VMWShzY29wZS5leGNl
cHRpb24oKSkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgRXhpc3RpbmdF
eGNlcHRpb25FcnJvciB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8qIG9y
aWdpbiA9IGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCk7CisgICAgYXV0byBvcmlnaW5EYXRhID0g
b3JpZ2luID8gb3JpZ2luLT5kYXRhKCkgOiBTZWN1cml0eU9yaWdpbkRhdGEgeyB9OworICAgIGF1
dG8gcGVybWlzc2lvblN0YXRlID0gbV9jb250cm9sbGVyLT5xdWVyeShDbGllbnRPcmlnaW4geyBj
b250ZXh0LT50b3BPcmlnaW4oKS5kYXRhKCksIG9yaWdpbkRhdGEgfSwgUGVybWlzc2lvbkRlc2Ny
aXB0b3IgeyBwYXJhbWV0ZXJEZXNjcmlwdG9yIH0pOworICAgIHByb21pc2UucmVzb2x2ZShQZXJt
aXNzaW9uU3RhdHVzOjpjcmVhdGUoKmNvbnRleHQsIHBlcm1pc3Npb25TdGF0ZSwgcGFyYW1ldGVy
RGVzY3JpcHRvcikpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Ez
OGZmMzQ4ZmU0NjkzZjAyMDg0OTkyMWY1ZGE5NDY0MjE4ZjEwMwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaApAQCAtMCww
ICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJJRExUeXBl
cy5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0cm9uZy5oPgorI2luY2x1ZGUgPHd0Zi9J
c29NYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCituYW1lc3BhY2UgSlNDIHsK
K2NsYXNzIEpTT2JqZWN0OworfSAvLyBuYW1lc3BhY2UgSlNDCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgTmF2aWdhdG9yOworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXI7CitjbGFz
cyBQZXJtaXNzaW9uU3RhdHVzOworCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBE
T01Qcm9taXNlRGVmZXJyZWQ7CisKK2NsYXNzIFBlcm1pc3Npb25zIGZpbmFsIDogcHVibGljIFJl
ZkNvdW50ZWQ8UGVybWlzc2lvbnM+IHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFBlcm1p
c3Npb25zKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBlcm1pc3Npb25zPiBjcmVhdGUoTmF2
aWdhdG9yJik7CisKKyAgICBOYXZpZ2F0b3IqIG5hdmlnYXRvcigpOworICAgIHZvaWQgcXVlcnko
SlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4sIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZh
Y2U8UGVybWlzc2lvblN0YXR1cz4+JiYpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFBlcm1p
c3Npb25zKE5hdmlnYXRvciYpOworCisgICAgV2Vha1B0cjxOYXZpZ2F0b3I+IG1fbmF2aWdhdG9y
OworICAgIFJlZlB0cjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gbV9jb250cm9sbGVyOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjhhYTYxMmE1MDdiMzgwNTQw
YTY3MGJlNjQ1YWI2NmVmNDM4MWRkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jcGVybWlzc2lv
bnMtaW50ZXJmYWNlCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVBlcm1pc3Npb25zQVBJLAor
ICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9UmVhY2hhYmxlRnJvbU5hdmlnYXRvciwKKyAgICBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpCitdIGlu
dGVyZmFjZSBQZXJtaXNzaW9ucyB7CisgICAgUHJvbWlzZTxQZXJtaXNzaW9uU3RhdHVzPiBxdWVy
eShvYmplY3QgcGVybWlzc2lvbkRlc2MpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggNmQ1OWRjM2Zk
ODc4NGFjMzU3NjBhZGRmNWQ5MjA1OGQyNTg0ZDA3Yi4uODkxMDU0OTczMTlhNmIwNGUxOGZlNTJl
NDUxZWQ0ZWU5YTRmMTUyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTIwMyw2ICsyMDMsOSBAQCBNb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcAogTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVz
dC9QYXltZW50UmVxdWVzdFV0aWxpdGllcy5jcHAKIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5
bWVudFJlc3BvbnNlLmNwcAorTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9u
cy5jcHAKK01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5jcHAKK01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvbnMuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9j
dW1lbnRQaWN0dXJlSW5QaWN0dXJlLmNwcAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVy
UGljdHVyZUluUGljdHVyZUV2ZW50LmNwcAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0hUTUxW
aWRlb0VsZW1lbnRQaWN0dXJlSW5QaWN0dXJlLmNwcApAQCAtMzI3Miw2ICszMjc1LDExIEBAIEpT
UGVyZm9ybWFuY2VUaW1pbmcuY3BwCiBKU1BlcmlvZGljV2F2ZS5jcHAKIEpTUGVyaW9kaWNXYXZl
Q29uc3RyYWludHMuY3BwCiBKU1BlcmlvZGljV2F2ZU9wdGlvbnMuY3BwCitKU1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmNwcAorSlNQZXJtaXNzaW9uTmFtZS5jcHAKK0pTUGVybWlzc2lvblN0YXRlLmNw
cAorSlNQZXJtaXNzaW9uU3RhdHVzLmNwcAorSlNQZXJtaXNzaW9ucy5jcHAKIEpTUGljdHVyZUlu
UGljdHVyZVdpbmRvdy5jcHAKIEpTUGxheWJhY2tEaXJlY3Rpb24uY3BwCiBKU1BvaW50ZXJFdmVu
dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBkMGFhMGU4ZDJiOWI5MTA3M2I5ODNhNjhjZjU5ZjdlNjZhMmE1Mzc1Li4zNmFk
ZWVkNDlkMTBmODdhNjE4MWQ4MzI4M2ViODc2NDg0OGFkZGRmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yODgwLDYgKzI4ODAs
MTQgQEAKIAkJOTNBODA2MTcxRTAzQjUxQzAwOEExRjI2IC8qIExvbmdSYW5nZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBODA2MTMxRTAzQjUxQzAw
OEExRjI2IC8qIExvbmdSYW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTkzQTgwNjFFMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJhbmdl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4MDYx
QTFFMDNCNTg1MDA4QTFGMjYgLyogSlNEb3VibGVSYW5nZS5oICovOyB9OwogCQk5M0E4MDYyMDFF
MDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTgwNjFDMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdS
YW5nZS5oICovOyB9OworCQk5M0IwQTY1MzI2Q0REMTQxMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVy
bWlzc2lvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzQjBBNjRBMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oICovOyB9
OworCQk5M0IwQTY1NDI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjRCMjZDREQxM0UwMEFB
MjFFNCAvKiBQZXJtaXNzaW9ucy5oICovOyB9OworCQk5M0IwQTY1NjI2Q0REMTQxMDBBQTIxRTQg
LyogUGVybWlzc2lvblN0YXR1cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMu
aCAqLzsgfTsKKwkJOTNCMEE2NTcyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlw
dG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0Iw
QTY0RTI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5M0IwQTY1OTI2Q0REMTQx
MDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
TmFtZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTkzQjBBNjVCMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjUyMjZDREQxNDEwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQk5M0IwQTY3MDI2RDRCNTM5MDBBQTIxRTQgLyogUGVybWlzc2lv
bkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzQjBBNjY5MjZENDRCN0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjdB
MjZENkE0RTkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjZGMjZENEI1MjkwMEFBMjFFNCAv
KiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk5M0IyRDgxNjBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWlu
YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
QjJEODE1MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzQjM4RUMzMjU4MjFEQjQw
MDE5OEU2MyAvKiBXZWJTcGVlY2hSZWNvZ25pemVyVGFzay5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMzhFQkEyNTgyMTkzQjAwMTk4RTYzIC8qIFdl
YlNwZWVjaFJlY29nbml6ZXJUYXNrLmggKi87IH07CiAJCTkzQjM4RUM0MjU4MjFEQjcwMDE5OEU2
MyAvKiBXZWJTcGVlY2hSZWNvZ25pemVyVGFza01vY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjM4RUJCMjU4MjE5M0QwMDE5OEU2MyAvKiBXZWJT
cGVlY2hSZWNvZ25pemVyVGFza01vY2suaCAqLzsgfTsKQEAgLTExNzAxLDYgKzExNzA5LDIzIEBA
CiAJCTkzQTgwNjFBMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0RvdWJsZVJhbmdlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRG91YmxlUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTNBODA2MUIxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9uZ1JhbmdlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTG9uZ1JhbmdlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNBODA2MUMxRTAzQjU4NTAwOEExRjI2IC8q
IEpTTG9uZ1JhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTG9uZ1Jh
bmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ0MjZDREM1QjYwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcm1p
c3Npb25TdGF0ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ1MjZD
REM1QjYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk5M0IwQTY0NjI2Q0RDNUI3MDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcm1pc3Npb25OYW1lLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDcyNkNEQzVCNzAwQUEyMUU0IC8qIE5hdmlnYXRvcitQZXJt
aXNzaW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIk5hdmlnYXRvcitQZXJtaXNzaW9u
cy5pZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0ODI2Q0RDNUI3MDBB
QTIxRTQgLyogUGVybWlzc2lvbnMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcm1pc3Np
b25zLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDkyNkNEQzVCODAw
QUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBl
cm1pc3Npb25TdGF0dXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0
QTI2Q0REMTNFMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdG9yUGVybWlzc2lvbnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEIyNkNERDEzRTAwQUEyMUU0IC8qIFBlcm1pc3Npb25z
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25zLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRDMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZp
Z2F0b3JQZXJtaXNzaW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTkzQjBBNjREMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0dXMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEUyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1pc3Npb25E
ZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25E
ZXNjcmlwdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRGMjZDREQx
NDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0dXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5M0IwQTY1MDI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbk5hbWUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NTEyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1p
c3Npb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcm1pc3Np
b25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NTIyNkNERDE0MTAw
QUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQZXJtaXNzaW9uU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNC
MEE2NjkyNkQ0NEI3RjAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBlcm1pc3Npb25Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTkzQjBBNjZGMjZENEI1MjkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2JzZXJ2ZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUGVybWlzc2lvbk9ic2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkzQjJEODE1MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdWRkZW5UZXJtaW5hdGlvbi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IyRDgxNzBGOTkyMEVFMDA2QUU2QjIgLyogU3Vk
ZGVuVGVybWluYXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBTdWRkZW5UZXJtaW5hdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNC
MzhFQjgyNTgyMTg5OTAwMTk4RTYzIC8qIFNwZWVjaFJlY29nbml6ZXJDb2NvYS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNwZWVjaFJlY29nbml6ZXJDb2NvYS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIzMTg1LDYgKzIzMjEwLDMwIEBACiAJ
CQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJOTNCMEE2
NDIyNkNEQzU3NDAwQUEyMUU0IC8qIHBlcm1pc3Npb25zICovID0geworCQkJaXNhID0gUEJYR3Jv
dXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk5M0IwQTY0NzI2Q0RDNUI3MDBBQTIxRTQgLyogTmF2
aWdhdG9yK1Blcm1pc3Npb25zLmlkbCAqLywKKwkJCQk5M0IwQTY0QzI2Q0REMTNFMDBBQTIxRTQg
LyogTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwICovLAorCQkJCTkzQjBBNjRBMjZDREQxM0UwMEFB
MjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oICovLAorCQkJCTkzQjBBNjY5MjZENDRCN0Yw
MEFBMjFFNCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5oICovLAorCQkJCTkzQjBBNjRFMjZDREQx
M0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oICovLAorCQkJCTkzQjBBNjQ1MjZD
REM1QjYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwgKi8sCisJCQkJOTNCMEE2
NTAyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmggKi8sCisJCQkJOTNCMEE2NDYy
NkNEQzVCNzAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmlkbCAqLywKKwkJCQk5M0IwQTY2RjI2
RDRCNTI5MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggKi8sCisJCQkJOTNCMEE2NTEy
NkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmNwcCAqLywKKwkJCQk5M0IwQTY0QjI2Q0RE
MTNFMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCAqLywKKwkJCQk5M0IwQTY0ODI2Q0RDNUI3MDBB
QTIxRTQgLyogUGVybWlzc2lvbnMuaWRsICovLAorCQkJCTkzQjBBNjUyMjZDREQxNDEwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uU3RhdGUuaCAqLywKKwkJCQk5M0IwQTY0NDI2Q0RDNUI2MDBBQTIxRTQg
LyogUGVybWlzc2lvblN0YXRlLmlkbCAqLywKKwkJCQk5M0IwQTY0RjI2Q0REMTQwMDBBQTIxRTQg
LyogUGVybWlzc2lvblN0YXR1cy5jcHAgKi8sCisJCQkJOTNCMEE2NEQyNkNERDEzRjAwQUEyMUU0
IC8qIFBlcm1pc3Npb25TdGF0dXMuaCAqLywKKwkJCQk5M0IwQTY0OTI2Q0RDNUI4MDBBQTIxRTQg
LyogUGVybWlzc2lvblN0YXR1cy5pZGwgKi8sCisJCQkpOworCQkJcGF0aCA9IHBlcm1pc3Npb25z
OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJOTNCMzhFQjYyNTgyMTgzMzAw
MTk4RTYzIC8qIGNvY29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKQEAgLTIzNzkwLDYgKzIzODM5LDcgQEAKIAkJCQk3MUQ2QUEzOTFEQTRFQUY3MDBCMjM5Njkg
LyogbW9kZXJuLW1lZGlhLWNvbnRyb2xzICovLAogCQkJCTMzM0Y3MDNEMEZCNDlDMTYwMDhFMTJB
NiAvKiBub3RpZmljYXRpb25zICovLAogCQkJCUExRjc2QjBFMUY0NEMwQ0YwMDE0QzMxOCAvKiBw
YXltZW50cmVxdWVzdCAqLywKKwkJCQk5M0IwQTY0MjI2Q0RDNTc0MDBBQTIxRTQgLyogcGVybWlz
c2lvbnMgKi8sCiAJCQkJMURFRjA2QTIyMzNDMzJEQjAwRUUyMjhEIC8qIHBpY3R1cmVpbnBpY3R1
cmUgKi8sCiAJCQkJMDcyQUUxREUxODNDMDUxMzAwMEE1OTg4IC8qIHBsdWdpbnMgKi8sCiAJCQkJ
Q0RDMzEyRTAyMkZDRDBCMDAwMTIwNEVDIC8qIHJlbW90ZXBsYXliYWNrICovLApAQCAtMzM3NTcs
NiArMzM4MDcsNyBAQAogCQkJCTZCNTA3QTI0MjM0QkYzNDEwMEJFN0M2MiAvKiBOYXZpZ2F0b3JJ
c0xvZ2dlZEluLmggaW4gSGVhZGVycyAqLywKIAkJCQk1RUE3MjVENjFBQ0FCRDU3MDBFQUQxN0Ig
LyogTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzdCQTU3MjI2
MEZBMDE0MDA3MkYxOUYgLyogTmF2aWdhdG9yTWVkaWFTZXNzaW9uLmggaW4gSGVhZGVycyAqLywK
KwkJCQk5M0IwQTY1MzI2Q0REMTQxMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCBp
biBIZWFkZXJzICovLAogCQkJCTk5NkU1OURGMURGMDEyOEQwMDY2MTJCOSAvKiBOYXZpZ2F0b3JX
ZWJEcml2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUU4Qjc4MjQxMzE5MUYwMEU3OTRENiAv
KiBOYXZpZ2F0b3JXZWJYUi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEEzMDlDOUYxMjM5NTBCRTAw
Q0I5MjA0IC8qIE5lc3RpbmdMZXZlbEluY3JlbWVudGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTMz
OTU2LDYgKzM0MDA3LDEzIEBACiAJCQkJRkQ1ODFGQjUxNTIwRjkzQjAwM0E3QTc1IC8qIFBlcmlv
ZGljV2F2ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTc1NUU4OTIyNEM3NDM0QjAwOUY3QzIzIC8q
IFBlcmlvZGljV2F2ZUNvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNzU1RTg5OTI0
Qzc0NjFEMDA5RjdDMjMgLyogUGVyaW9kaWNXYXZlT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJOTNCMEE2NzAyNkQ0QjUzOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQk5M0IwQTY1NzI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbkRl
c2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjU5MjZDREQxNDEwMEFBMjFFNCAv
KiBQZXJtaXNzaW9uTmFtZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2N0EyNkQ2QTRFOTAw
QUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2
NTQyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQk5
M0IwQTY1QjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmggaW4gSGVhZGVycyAq
LywKKwkJCQk5M0IwQTY1NjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDlENURDMkUwRjQyM0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZl
VHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxREJDMUI1NjIzNDdCM0Qy
MDBCOTAxQUYgLyogUGljdHVyZUluUGljdHVyZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxRDJDODJCNzIzNkEzRjZBMDA1NUQ2QzUgLyogUGljdHVyZUluUGljdHVyZVN1cHBvcnQuaCBp
biBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1
aWx0aW5OYW1lcy5oCmluZGV4IGYxODFjNzk2ZDY1MGNjODZmZTNmMDhhNzIwMDdhNmVkYzJlZmJj
NzguLjg1MWEyMTRjOWE0ODdmZjY4ZDE2YmU3ZGQ4ZmJiNTIwODg3ZWI5MWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTE1NCw2
ICsxNTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oTW9ja1JUQ1J0cFRyYW5z
Zm9ybSkgXAogICAgIG1hY3JvKE5hdmlnYXRvckNyZWRlbnRpYWxzKSBcCiAgICAgbWFjcm8oTmF2
aWdhdG9yTWVkaWFEZXZpY2VzKSBcCisgICAgbWFjcm8oTmF2aWdhdG9yUGVybWlzc2lvbnMpIFwK
ICAgICBtYWNybyhOYXZpZ2F0b3JVc2VyTWVkaWEpIFwKICAgICBtYWNybyhPZmZsaW5lQXVkaW9D
b250ZXh0KSBcCiAgICAgbWFjcm8oT2Zmc2NyZWVuQ2FudmFzKSBcCkBAIC0xODIsNiArMTgzLDkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBlcmZvcm1hbmNlUGFpbnRUaW1pbmcp
IFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKSBcCiAgICAgbWFjcm8oUGVy
Zm9ybWFuY2VTZXJ2ZXJUaW1pbmcpIFwKKyAgICBtYWNybyhQZXJtaXNzaW9uRGVzY3JpcHRvcikg
XAorICAgIG1hY3JvKFBlcm1pc3Npb25TdGF0dXMpIFwKKyAgICBtYWNybyhQZXJtaXNzaW9ucykg
XAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkgXAogICAgIG1hY3JvKFB1YmxpY0tleUNyZWRlbnRp
YWwpIFwKICAgICBtYWNybyhSZXNpemVPYnNlcnZlcikgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
aW5kZXggNjVjZmJmOGI3OTVkNjNkM2M5OTlkMDFkOWIzODRiMjA1MDA5ZDQ2NC4uNDU0MTU2YWM5
ZWZhNzUyMjI1Y2NiMWE5YzRkZjM2ZDFiNzVkMzk4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CkBAIC0zNTU0LDYgKzM1NTQsMTEgQEAgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIERv
Y3VtZW50OjppZGJDb25uZWN0aW9uUHJveHkoKQogICAgIHJldHVybiBtX2lkYkNvbm5lY3Rpb25Q
cm94eS5nZXQoKTsKIH0KIAorUmVmUHRyPFBlcm1pc3Npb25Db250cm9sbGVyPiBEb2N1bWVudDo6
cGVybWlzc2lvbkNvbnRyb2xsZXIoKQoreworICAgIHJldHVybiBwYWdlKCkgPyAmcGFnZSgpLT5w
ZXJtaXNzaW9uQ29udHJvbGxlcigpIDogbnVsbHB0cjsKK30KKwogU29ja2V0UHJvdmlkZXIqIERv
Y3VtZW50Ojpzb2NrZXRQcm92aWRlcigpCiB7CiAgICAgcmV0dXJuIG1fc29ja2V0UHJvdmlkZXIu
Z2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDRjMjk1ZDQ1OGYxYWUwNjE3OWE1NDZiOTRk
YjM4MDc3MjY1NGMxYzUuLjNkNDY1YjNjNDhiMjEyMjhlNmRhYTE4YTc5MmQyZDMzNGY4ZTE5MDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC03MDEsNiArNzAxLDcgQEAgcHVibGljOgogICAgIHZv
aWQgZGlzYWJsZVdlYkFzc2VtYmx5KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKSBmaW5hbDsK
IAogICAgIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBpZGJDb25uZWN0aW9uUHJveHko
KSBmaW5hbDsKKyAgICBSZWZQdHI8UGVybWlzc2lvbkNvbnRyb2xsZXI+IHBlcm1pc3Npb25Db250
cm9sbGVyKCkgZmluYWw7CiAgICAgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKCkgZmlu
YWw7CiAgICAgUmVmUHRyPFJUQ0RhdGFDaGFubmVsUmVtb3RlSGFuZGxlckNvbm5lY3Rpb24+IGNy
ZWF0ZVJUQ0RhdGFDaGFubmVsUmVtb3RlSGFuZGxlckNvbm5lY3Rpb24oKSBmaW5hbDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KaW5kZXggNWU1OGYxMTE2NjdlZjYy
MTBkNTMxMTBkN2I1NGE4MDJjODQzOTVkOC4uMDEzY2VkMDk0NmZmY2Q1MjU5ZmEyNTBiMTYwM2Ex
OGU0NTllNDU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFj
dG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCkBA
IC0zNSw2ICszNSw3IEBAIE9mZnNjcmVlbkNhbnZhcyBjb25kaXRpb25hbD1PRkZTQ1JFRU5fQ0FO
VkFTCiBQYXltZW50UmVxdWVzdCBjb25kaXRpb25hbD1QQVlNRU5UX1JFUVVFU1QKIFBheW1lbnRS
ZXNwb25zZSBjb25kaXRpb25hbD1QQVlNRU5UX1JFUVVFU1QKIFBlcmZvcm1hbmNlCitQZXJtaXNz
aW9uU3RhdHVzCiBQaWN0dXJlSW5QaWN0dXJlV2luZG93IGNvbmRpdGlvbmFsPVBJQ1RVUkVfSU5f
UElDVFVSRV9BUEkKIFJlbW90ZVBsYXliYWNrIGNvbmRpdGlvbmFsPVdJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVAogUlRDRGF0YUNoYW5uZWwgY29uZGl0aW9uYWw9V0VCX1JUQwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggZDRiYjhlMTlhZTc4ZjdlODFh
NmNiNjFmYjZlNTUyM2MxMDRjNGRkZS4uMWVjYmMxMzc5YjlhNWE2ODc2ODU2MmRlODA2YTYzYjZk
NWZjMDFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
CkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNs
dWRlICJET01UaW1lci5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiUlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUg
IlJlc291cmNlTG9hZGVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRJZGVudGlmaWVyLmgiCkBAIC0xMTUsNiArMTE2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCBkaXNhYmxlV2ViQXNzZW1ibHkoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpID0gMDsK
IAogICAgIHZpcnR1YWwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGlkYkNvbm5lY3Rp
b25Qcm94eSgpID0gMDsKKyAgICB2aXJ0dWFsIFJlZlB0cjxQZXJtaXNzaW9uQ29udHJvbGxlcj4g
cGVybWlzc2lvbkNvbnRyb2xsZXIoKSB7IHJldHVybiBudWxscHRyOyB9CiAKICAgICB2aXJ0dWFs
IFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcigpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UYXNrU291
cmNlLmgKaW5kZXggNzEzM2Y2NzhlYTJkOTkyNjk1MTYwMjA4NjRlZjEzZDRmM2VmZDM5OC4uMmRh
NDdiYWQ2YzczYTZiYTViZjI4M2I4ZDM1MmY0MGQyMWFmMDE0ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGFza1Nv
dXJjZS5oCkBAIC0zOSw2ICszOSw3IEBAIGVudW0gY2xhc3MgVGFza1NvdXJjZSA6IHVpbnQ4X3Qg
ewogICAgIE1pY3JvdGFzaywKICAgICBOZXR3b3JraW5nLAogICAgIFBlcmZvcm1hbmNlVGltZWxp
bmUsCisgICAgUGVybWlzc2lvbiwKICAgICBQb3N0ZWRNZXNzYWdlUXVldWUsCiAgICAgU3BlZWNo
LAogICAgIFVzZXJJbnRlcmFjdGlvbiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5j
cHAKaW5kZXggOTY0ZTJkZDEyMDcwMzMxYTY1Y2EzNDFhYzcwZTRiMjg3NDIwMGEwZC4uNTVjYzQ2
ZTI1OTE4NDY5ZjMxZDU2YzA0OTZlNDNkZDU1ZWNmZDVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5jcHAKQEAgLTYzLDYgKzYzLDcgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAj
aW5jbHVkZSAiUGFnZUNvbmZpZ3VyYXRpb24uaCIKICNpbmNsdWRlICJQYXltZW50Q29vcmRpbmF0
b3JDbGllbnQuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUg
IlBsdWdpbkluZm9Qcm92aWRlci5oIgogI2luY2x1ZGUgIlByb2dyZXNzVHJhY2tlckNsaWVudC5o
IgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luRGF0YS5oIgpAQCAtMTE5Myw3ICsxMTk0LDggQEAg
UGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb25XaXRoRW1wdHlDbGllbnRzKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCkKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxFbXB0eUZyYW1lTG9h
ZGVyQ2xpZW50PigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPER1bW15U3BlZWNoUmVjb2duaXRp
b25Qcm92aWRlcj4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxFbXB0eU1lZGlhUmVjb3JkZXJQ
cm92aWRlcj4oKSwKLSAgICAgICAgRW1wdHlCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmNyZWF0
ZSgpCisgICAgICAgIEVtcHR5QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpjcmVhdGUoKSwKKyAg
ICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1teVBlcm1pc3Npb25Db250cm9sbGVyPigpCiAgICAgfTsK
IAogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxFbXB0eUNocm9tZUNsaWVudD4gZHVtbXlDaHJv
bWVDbGllbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBlZWU2OGI3N2UxZTVmY2UxZTU5YzMyOTQz
NGE5YTg2MDBiMzY5NzEwLi44NjEwNzhiYTBiZjYxODNiNzcxMTQ1YTc0YjQxYmUwN2Q3YjA1NjJk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTk5LDYgKzk5LDcgQEAKICNpbmNsdWRlICJQZXJmb3Jt
YW5jZUxvZ2dpbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaCIKICNp
bmNsdWRlICJQZXJmb3JtYW5jZU1vbml0b3IuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uQ29udHJv
bGxlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgogI2luY2x1
ZGUgIlBsYXRmb3JtU2NyZWVuLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCkBA
IC0zMjUsNiArMzI2LDcgQEAgUGFnZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYmIHBhZ2VDb25m
aWd1cmF0aW9uKQogICAgICwgbV9sb2Fkc1N1YnJlc291cmNlcyhwYWdlQ29uZmlndXJhdGlvbi5s
b2Fkc1N1YnJlc291cmNlcykKICAgICAsIG1fc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxv
Y2tpbmcocGFnZUNvbmZpZ3VyYXRpb24uc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tp
bmcpCiAgICAgLCBtX2h0dHBzVXBncmFkZUVuYWJsZWQocGFnZUNvbmZpZ3VyYXRpb24uaHR0cHNV
cGdyYWRlRW5hYmxlZCkKKyAgICAsIG1fcGVybWlzc2lvbkNvbnRyb2xsZXIoV1RGTW92ZShwYWdl
Q29uZmlndXJhdGlvbi5wZXJtaXNzaW9uQ29udHJvbGxlcikpCiB7CiAgICAgdXBkYXRlVGltZXJU
aHJvdHRsaW5nU3RhdGUoKTsKIApAQCAtMzY5Myw0ICszNjk1LDkgQEAgdm9pZCBQYWdlOjpyZXNl
dFRleHRSZWNvZ25pdGlvblJlc3VsdHMoKQogCiAjZW5kaWYgLy8gRU5BQkxFKElNQUdFX0FOQUxZ
U0lTKQogCitQZXJtaXNzaW9uQ29udHJvbGxlciYgUGFnZTo6cGVybWlzc2lvbkNvbnRyb2xsZXIo
KQoreworICAgIHJldHVybiBtX3Blcm1pc3Npb25Db250cm9sbGVyLmdldCgpOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDkyNTViZjMxM2M2N2Q3MTQ4MTVj
Zjc4MTUyNjZmZmQ4MDViMjJmNjAuLjNiMWUyNjkwNTU2ZGQ0ZjNkMTdhOGViODVmMjRkMDA0MDg4
NzQzNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0xMzEsNiArMTMxLDcgQEAgY2xhc3MgUGF5bWVudENv
b3JkaW5hdG9yOwogY2xhc3MgUGVyZm9ybWFuY2VMb2dnaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VM
b2dnaW5nQ2xpZW50OwogY2xhc3MgUGVyZm9ybWFuY2VNb25pdG9yOworY2xhc3MgUGVybWlzc2lv
bkNvbnRyb2xsZXI7CiBjbGFzcyBQbHVnaW5EYXRhOwogY2xhc3MgUGx1Z2luSW5mb1Byb3ZpZGVy
OwogY2xhc3MgUGx1Z2luVmlld0Jhc2U7CkBAIC04NzIsNiArODczLDggQEAgcHVibGljOgogICAg
IHZvaWQgY2FjaGVUZXh0UmVjb2duaXRpb25SZXN1bHQoY29uc3QgSFRNTEVsZW1lbnQmLCBjb25z
dCBJbnRSZWN0JiBjb250YWluZXJSZWN0LCBjb25zdCBUZXh0UmVjb2duaXRpb25SZXN1bHQmKTsK
ICNlbmRpZgogCisgICAgV0VCQ09SRV9FWFBPUlQgUGVybWlzc2lvbkNvbnRyb2xsZXImIHBlcm1p
c3Npb25Db250cm9sbGVyKCk7CisKIHByaXZhdGU6CiAgICAgc3RydWN0IE5hdmlnYXRpb24gewog
ICAgICAgICBSZWdpc3RyYWJsZURvbWFpbiBkb21haW47CkBAIC0xMTk0LDYgKzExOTcsOCBAQCBw
cml2YXRlOgogICAgIGNvbnN0IGJvb2wgbV9odHRwc1VwZ3JhZGVFbmFibGVkIHsgdHJ1ZSB9Owog
ICAgIG11dGFibGUgTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1fbWVkaWFTZXNzaW9uR3Jv
dXBJZGVudGlmaWVyOwogCisgICAgVW5pcXVlUmVmPFBlcm1pc3Npb25Db250cm9sbGVyPiBtX3Bl
cm1pc3Npb25Db250cm9sbGVyOworCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQogICAgIC8v
IEZJWE1FOiBUaGVzZSBzaG91bGQgYmUgcmVmYWN0b3JlZCB0byB1c2UgYSB3ZWFrIGhhc2ggbWFw
IG9mIEhUTUxFbGVtZW50IHRvIHN0ZDo6cGFpcjxUZXh0UmVjb2duaXRpb25SZXN1bHQsIEludFNp
emU+LgogICAgIFZlY3RvcjxzdGQ6OnBhaXI8V2Vha1B0cjxIVE1MRWxlbWVudD4sIHN0ZDo6cGFp
cjxUZXh0UmVjb2duaXRpb25SZXN1bHQsIEludFJlY3Q+Pj4gbV90ZXh0UmVjb2duaXRpb25SZXN1
bHRzQnlFbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmln
dXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcApp
bmRleCA2NzVlMzY5Y2MxZTJjMmI3N2Q5OWZkZDA5MTM0YjE5OGYwY2YzYWYzLi5jYjU2MGZkNDE0
YTIzYTc2YjJjYzdiNjBlYTUwMjk5OWE5ODFjYzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VDb25maWd1cmF0aW9uLmNwcApAQCAtNTksNyArNTksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLVBhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbihQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYgZWRpdG9yQ2xpZW50LCBSZWY8
U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJvdmlkZXIsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92
aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlciwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmIGNh
Y2hlU3RvcmFnZVByb3ZpZGVyLCBSZWY8VXNlckNvbnRlbnRQcm92aWRlcj4mJiB1c2VyQ29udGVu
dFByb3ZpZGVyLCBSZWY8QmFja0ZvcndhcmRDbGllbnQ+JiYgYmFja0ZvcndhcmRDbGllbnQsIFJl
ZjxDb29raWVKYXI+JiYgY29va2llSmFyLCBVbmlxdWVSZWY8UHJvZ3Jlc3NUcmFja2VyQ2xpZW50
PiYmIHByb2dyZXNzVHJhY2tlckNsaWVudCwgVW5pcXVlUmVmPEZyYW1lTG9hZGVyQ2xpZW50PiYm
IGxvYWRlckNsaWVudEZvck1haW5GcmFtZSwgVW5pcXVlUmVmPFNwZWVjaFJlY29nbml0aW9uUHJv
dmlkZXI+JiYgc3BlZWNoUmVjb2duaXRpb25Qcm92aWRlciwgVW5pcXVlUmVmPE1lZGlhUmVjb3Jk
ZXJQcm92aWRlcj4mJiBtZWRpYVJlY29yZGVyUHJvdmlkZXIsIFJlZjxCcm9hZGNhc3RDaGFubmVs
UmVnaXN0cnk+JiYgYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KQorUGFnZUNvbmZpZ3VyYXRpb246
OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgVW5pcXVlUmVmPEVk
aXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiBzb2NrZXRQ
cm92aWRlciwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmIGxpYldlYlJUQ1Byb3ZpZGVy
LCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYgY2FjaGVTdG9yYWdlUHJvdmlkZXIsIFJlZjxV
c2VyQ29udGVudFByb3ZpZGVyPiYmIHVzZXJDb250ZW50UHJvdmlkZXIsIFJlZjxCYWNrRm9yd2Fy
ZENsaWVudD4mJiBiYWNrRm9yd2FyZENsaWVudCwgUmVmPENvb2tpZUphcj4mJiBjb29raWVKYXIs
IFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYgcHJvZ3Jlc3NUcmFja2VyQ2xpZW50
LCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+JiYgbG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1l
LCBVbmlxdWVSZWY8U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4mJiBzcGVlY2hSZWNvZ25pdGlv
blByb3ZpZGVyLCBVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPiYmIG1lZGlhUmVjb3Jk
ZXJQcm92aWRlciwgUmVmPEJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4mJiBicm9hZGNhc3RDaGFu
bmVsUmVnaXN0cnksIFVuaXF1ZVJlZjxQZXJtaXNzaW9uQ29udHJvbGxlcj4mJiBwZXJtaXNzaW9u
Q29udHJvbGxlcikKICAgICA6IHNlc3Npb25JRChzZXNzaW9uSUQpCiAgICAgLCBlZGl0b3JDbGll
bnQoV1RGTW92ZShlZGl0b3JDbGllbnQpKQogICAgICwgc29ja2V0UHJvdmlkZXIoV1RGTW92ZShz
b2NrZXRQcm92aWRlcikpCkBAIC03Myw2ICs3Myw3IEBAIFBhZ2VDb25maWd1cmF0aW9uOjpQYWdl
Q29uZmlndXJhdGlvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JD
CiAgICAgLCBicm9hZGNhc3RDaGFubmVsUmVnaXN0cnkoV1RGTW92ZShicm9hZGNhc3RDaGFubmVs
UmVnaXN0cnkpKQogICAgICwgc3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcihXVEZNb3ZlKHNwZWVj
aFJlY29nbml0aW9uUHJvdmlkZXIpKQogICAgICwgbWVkaWFSZWNvcmRlclByb3ZpZGVyKFdURk1v
dmUobWVkaWFSZWNvcmRlclByb3ZpZGVyKSkKKyAgICAsIHBlcm1pc3Npb25Db250cm9sbGVyKFdU
Rk1vdmUocGVybWlzc2lvbkNvbnRyb2xsZXIpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VDb25maWd1cmF0aW9uLmgKaW5kZXggMGYyNTlkNTZkM2ExNDJhMTRlMGVjODUxNGUwZmQ1YjJm
ZDI5MzBhNS4uZDc1YjcxMDRjMzUwMzkxZjU4YTk2OGZhZTJlNmUwMzU0NjExNmFjYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaApAQCAtNTksNiArNTksNyBAQCBjbGFz
cyBMaWJXZWJSVENQcm92aWRlcjsKIGNsYXNzIE1lZGlhUmVjb3JkZXJQcm92aWRlcjsKIGNsYXNz
IFBheW1lbnRDb29yZGluYXRvckNsaWVudDsKIGNsYXNzIFBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVu
dDsKK2NsYXNzIFBlcm1pc3Npb25Db250cm9sbGVyOwogY2xhc3MgUGx1Z2luSW5mb1Byb3ZpZGVy
OwogY2xhc3MgUHJvZ3Jlc3NUcmFja2VyQ2xpZW50OwogY2xhc3MgU29ja2V0UHJvdmlkZXI7CkBA
IC03NCw3ICs3NSw3IEBAIGNsYXNzIFNwZWVjaFN5bnRoZXNpc0NsaWVudDsKIGNsYXNzIFBhZ2VD
b25maWd1cmF0aW9uIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ29uZmlndXJhdGlv
bik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JU
IFBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50
PiYmLCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4m
JiwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmLCBSZWY8VXNlckNvbnRlbnRQcm92aWRlcj4m
JiwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmLCBSZWY8Q29va2llSmFyPiYmLCBVbmlxdWVSZWY8
UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmLCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+JiYs
IFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TWVkaWFS
ZWNvcmRlclByb3ZpZGVyPiYmLCBSZWY8QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihQQUw6OlNlc3Npb25JRCwgVW5pcXVl
UmVmPEVkaXRvckNsaWVudD4mJiwgUmVmPFNvY2tldFByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TGli
V2ViUlRDUHJvdmlkZXI+JiYsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4mJiwgUmVmPFVzZXJD
b250ZW50UHJvdmlkZXI+JiYsIFJlZjxCYWNrRm9yd2FyZENsaWVudD4mJiwgUmVmPENvb2tpZUph
cj4mJiwgVW5pcXVlUmVmPFByb2dyZXNzVHJhY2tlckNsaWVudD4mJiwgVW5pcXVlUmVmPEZyYW1l
TG9hZGVyQ2xpZW50PiYmLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4mJiwg
VW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4mJiwgUmVmPEJyb2FkY2FzdENoYW5uZWxS
ZWdpc3RyeT4mJiwgVW5pcXVlUmVmPFBlcm1pc3Npb25Db250cm9sbGVyPiYmKTsKICAgICBXRUJD
T1JFX0VYUE9SVCB+UGFnZUNvbmZpZ3VyYXRpb24oKTsKICAgICBQYWdlQ29uZmlndXJhdGlvbihQ
YWdlQ29uZmlndXJhdGlvbiYmKTsKIApAQCAtMTM4LDYgKzEzOSw4IEBAIHB1YmxpYzoKICAgICBi
b29sIHVzZXJTY3JpcHRzU2hvdWxkV2FpdFVudGlsTm90aWZpY2F0aW9uIHsgdHJ1ZSB9OwogICAg
IFNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nIHNob3VsZFJlbGF4VGhpcmRQYXJ0
eUNvb2tpZUJsb2NraW5nIHsgU2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmc6Ok5v
IH07CiAgICAgYm9vbCBodHRwc1VwZ3JhZGVFbmFibGVkIHsgdHJ1ZSB9OworCisgICAgVW5pcXVl
UmVmPFBlcm1pc3Npb25Db250cm9sbGVyPiBwZXJtaXNzaW9uQ29udHJvbGxlcjsKIH07CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXMudHh0CmluZGV4IDY2YWVkYTQzYzgyZDhiZmIzMzViYmZlZjYwOTVkMDRlZmFkYjg2MjAu
LmE3NDVkNzIwMTVjZmMxOTVmYjk2ZjJjYzU1ODU4YTgzMWI3NTBlYTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApA
QCAtNjk0LDYgKzY5NCw3IEBAIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTWVkaWFLZXlT
eXN0ZW1DbGllbnQuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk1lc3NhZ2VQb3J0
Q2hhbm5lbFByb3ZpZGVyLmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmlj
YXRpb25DbGllbnQuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcmZvcm1hbmNl
TG9nZ2luZ0NsaWVudC5jcHAKK1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lv
bkNvbnRyb2xsZXIuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51LmNwcAog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQuY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA1ZmIzMDg5NTAxNTYy
NDg2NjYxNTNjNjI0ZjQwMzRlYTRhODg0ZmRmLi45YTgyOTZiOThkNWJiMGRiNjNhNzgwZjE1YmYz
NDIzM2U3ZTQzYzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
QEAgLTE3Miw2ICsxNzIsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTUlNRVR5cGVSZWdpc3RyeS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFTdHJlYW1SZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9QZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1p
c3Npb25TdGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1FdmVudC5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1B1YmxpY1N1ZmZpeC5oPgpAQCAtODQ5Myw2ICs4NDk0LDEyIEBAIHZvaWQgV2ViUGFnZVByb3h5
OjpyZXZva2VHZW9sb2NhdGlvbkF1dGhvcml6YXRpb25Ub2tlbihjb25zdCBTdHJpbmcmIGF1dGhv
cml6YXRpCiAgICAgbV9nZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5yZXZva2VB
dXRob3JpemF0aW9uVG9rZW4oYXV0aG9yaXphdGlvblRva2VuKTsKIH0KIAordm9pZCBXZWJQYWdl
UHJveHk6OnJlcXVlc3RQZXJtaXNzaW9uKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIGNv
bnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAg
IC8vIEZJWE1FOiBTaG93IGEgcHJvbXB0IGZvciB1c2VyIGlucHV0LgorICAgIGNvbXBsZXRpb25I
YW5kbGVyKFBlcm1pc3Npb25TdGF0ZTo6R3JhbnRlZCk7Cit9CisKICNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkmIFdlYlBhZ2VQ
cm94eTo6dXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZWExYzIyZmI2YjExYmU5Njg5OTI4MjY0ZDNi
ZjNmYzg0NzEwOWI4ZC4uNDYxYWFjYjg4ODZhNTIzMWNjYWFmZjA3NGYyYTFhNTRjMDE3N2Q3NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTI5NCw2ICsyOTQsNyBA
QCBzdHJ1Y3QgTGlua0ljb247CiBzdHJ1Y3QgTWVkaWFTdHJlYW1SZXF1ZXN0Owogc3RydWN0IE1l
ZGlhVXNhZ2VJbmZvOwogc3RydWN0IE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb247
CitzdHJ1Y3QgUGVybWlzc2lvbkRlc2NyaXB0b3I7CiBzdHJ1Y3QgUHJld2FybUluZm9ybWF0aW9u
Owogc3RydWN0IFNlY3VyaXR5T3JpZ2luRGF0YTsKIHN0cnVjdCBTaGFyZURhdGE7CkBAIC0yMTE3
LDYgKzIxMTgsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCByZXF1ZXN0R2VvbG9jYXRpb25QZXJt
aXNzaW9uRm9yRnJhbWUoR2VvbG9jYXRpb25JZGVudGlmaWVyLCBGcmFtZUluZm9EYXRhJiYpOwog
ICAgIHZvaWQgcmV2b2tlR2VvbG9jYXRpb25BdXRob3JpemF0aW9uVG9rZW4oY29uc3QgU3RyaW5n
JiBhdXRob3JpemF0aW9uVG9rZW4pOworICAgIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oY29uc3Qg
V2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0
b3ImLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYp
OwogCiAjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCiAgICAgdm9pZCBzZW5kTWVz
c2FnZVRvV2ViVmlldyhVc2VyTWVzc2FnZSYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBiYzM3YjhmYzZhZGYzZWFkMTg3MmQx
MTU1ZmYwY2JkMDA5ZGMwYWY5Li4wN2UwZjU0ODAzNDY5NzAzYTZmNzM3ZDk5MzA3YjFlYzczNTBj
ZDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCkBAIC02MDIsNCArNjAyLDYgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNp
ZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKICAgICBNb2RlbEVsZW1lbnREaWRDcmVh
dGVQcmV2aWV3KHN0cnVjdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCBlbGVtZW50Q29udGV4dCwg
VVJMIHVybCwgU3RyaW5nIHV1aWQsIFdlYkNvcmU6OkZsb2F0U2l6ZSBzaXplKQogI2VuZGlmCisK
KyAgICByZXF1ZXN0UGVybWlzc2lvbihzdHJ1Y3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdp
biwgc3RydWN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yIGRlc2NyaXB0b3IpIC0+IChl
bnVtOnVpbnQ4X3QgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHN0YXRlKSBBc3luYwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZmUz
ZDMyYjMyOTVjMmM0NGZkNDQ0NGNkZDdmMTQxZjI0MDA0Y2EwMi4uZmI2OGEzYmQxNmQyNzM4MmNk
MzNjOTNiMTBiZWJlMjkzYjMzYTUwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDk2LDYgKzE0OTYsNyBAQAogCQk5M0FCOUI0RTI1
NzU2N0UyMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291
cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0FC
OUI0MjI1NzQ5MjhDMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1l
ZGlhU291cmNlLmggKi87IH07CiAJCTkzQUI5QjU1MjU3NUEyNzYwMDk4QjEwRSAvKiBTcGVlY2hS
ZWNvZ25pdGlvblJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQUI5QjRGMjU3
NTg5MTEwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1lTWVkaWFTb3VyY2VNYW5h
Z2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJOTNBQjlCNTYyNTc1QTI4QjAwOThCMTBF
IC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNBQjlCNTEyNTc1ODkxMTAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3Rl
UmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQk5
M0IwQTY3NTI2RDVBRENGMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjc0MjZENUE3
MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oICovOyB9OwogCQk5M0IyNjE0
RDIyN0QxNDlFMDBCOTdBNzYgLyogU3RvcmFnZU1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjI2MTQ5MjI3RDE0NzIwMEI5N0E3NiAvKiBT
dG9yYWdlTWFuYWdlci5oICovOyB9OwogCQk5M0IyNjE0RTIyN0QxNEIxMDBCOTdBNzYgLyogTG9j
YWxTdG9yYWdlRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzQjI2MTQ1MjI3RDE0NzAwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFz
ZS5oICovOyB9OwogCQk5M0IyNjE0RjIyN0QxNEIxMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0
YWJhc2VUcmFja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5M0IyNjE0NjIyN0QxNDcxMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFj
a2VyLmggKi87IH07CkBAIC00OTE0LDYgKzQ5MTUsMTAgQEAKIAkJOTNBQjlCNTIyNTc1ODkxMjAw
OThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFn
ZXJNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3Bl
ZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzUmVw
bGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0FCOUI1MzI1NzU4OTEyMDA5
OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdl
ck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwZWVjaFJlY29n
bml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5M0FCOUI1NDI1NzU4OTEyMDA5OEIxMEUgLyogU3BlZWNo
UmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNv
dXJjZU1hbmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0Iw
QTY2RDI2RDQ1MTUwMDBBQTIxRTQgLyogUGVybWlzc2lvbk1hbmFnZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVybWlzc2lvbk1hbmFnZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY2RTI2RDQ1MTUwMDBBQTIxRTQgLyogUGVybWlz
c2lvbk1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lv
bk1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NzMyNkQ1QTcy
RTAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NzQyNkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBl
cm1pc3Npb25Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YlBlcm1pc3Npb25Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkz
QjI2MTQ1MjI3RDE0NzAwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2NhbFN0b3JhZ2VEYXRhYmFzZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IyNjE0NjIyN0QxNDcxMDBCOTdBNzYgLyogTG9jYWxT
dG9yYWdlRGF0YWJhc2VUcmFja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5M0IyNjE0NzIyN0QxNDcxMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFj
a2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvY2FsU3RvcmFn
ZURhdGFiYXNlVHJhY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05NjIz
LDYgKzk2MjgsMTUgQEAKIAkJCXBhdGggPSBTcGVlY2g7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwogCQl9OworCQk5M0IwQTY2QzI2RDQ1MTFGMDBBQTIxRTQgLyogUGVybWlzc2lvbiAqLyA9
IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJOTNCMEE2NkQyNkQ0
NTE1MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25NYW5hZ2VyLmNwcCAqLywKKwkJCQk5M0IwQTY2RTI2
RDQ1MTUwMDBBQTIxRTQgLyogUGVybWlzc2lvbk1hbmFnZXIuaCAqLywKKwkJCSk7CisJCQlwYXRo
ID0gUGVybWlzc2lvbjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTkzQjI2
MTQzMjI3RDE0MzEwMEI5N0E3NiAvKiBXZWJTdG9yYWdlICovID0gewogCQkJaXNhID0gUEJYR3Jv
dXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTk4NjMsNiArOTg3Nyw3IEBACiAJCQkJNEE0MTBGNDEx
OUFGN0IyNzAwMkVCQUI1IC8qIE1lZGlhU3RyZWFtICovLAogCQkJCTUxMDVCMEQyMTYyRjdBNUUw
MEUyNzcwOSAvKiBOZXR3b3JrICovLAogCQkJCTMxMDk5OTc0MTQ2QzhBQTgwMDI5REVCOSAvKiBO
b3RpZmljYXRpb25zIChVc2VyKSAqLywKKwkJCQk5M0IwQTY2QzI2RDQ1MTFGMDBBQTIxRTQgLyog
UGVybWlzc2lvbiAqLywKIAkJCQkxQTZGQjdBQTExRTY0QjQ5MDBEQjEzNzEgLyogUGx1Z2lucyAq
LywKIAkJCQk5M0FCOUI0ODI1NzRDNUNFMDA5OEIxMEUgLyogU3BlZWNoICovLAogCQkJCTUxMThF
OTk4MUYyOTUyNTkwMDNFRjlGNSAvKiBTdG9yYWdlICovLApAQCAtOTkzMyw2ICs5OTQ4LDggQEAK
IAkJCQk1MTIxMjdDMjE5MDgyMzlBMDBEQUYzNUMgLyogV2ViUGFzdGVib2FyZE92ZXJyaWRlcy5o
ICovLAogCQkJCTBGODUwRkU0MUVEN0MzOUYwMEZCNzdBNyAvKiBXZWJQZXJmb3JtYW5jZUxvZ2dp
bmdDbGllbnQuY3BwICovLAogCQkJCTBGODUwRkU1MUVEN0MzOUYwMEZCNzdBNyAvKiBXZWJQZXJm
b3JtYW5jZUxvZ2dpbmdDbGllbnQuaCAqLywKKwkJCQk5M0IwQTY3MzI2RDVBNzJFMDBBQTIxRTQg
LyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwICovLAorCQkJCTkzQjBBNjc0MjZENUE3MkUw
MEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oICovLAogCQkJCTFBM0U3MzYwMTFD
QzI2NTkwMDdCRDUzOSAvKiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwICovLAogCQkJCTFBM0U3
MzVGMTFDQzI2NTkwMDdCRDUzOSAvKiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCAqLywKIAkJCQlE
M0I5NDg0MjExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmNwcCAqLywKQEAgLTEyNjYy
LDYgKzEyNjc5LDcgQEAKIAkJCQlBMTc5OEI0QzIyMkYxQkQ0MDAwNzY0QkQgLyogV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCMUY3OTkxRDFC
MzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGODUwRkU3MUVEN0MzOUYwMEZCNzdBNyAvKiBXZWJQZXJmb3JtYW5j
ZUxvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjc1MjZENUFEQ0YwMEFB
MjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEz
RTczNjExMUNDMjY1OTAwN0JENTM5IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkM1NzQ0RjAxMjYzOEZCMzAwNkYwRjEyIC8qIFdlYlBvcHVwSXRlbS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRDNCOTQ4NDcxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVu
dS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43ODBjYWJlMDBjZjZlMzg1MTlmN2QwM2I5OGEwNzMzYzYzOWY0MjBjCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlBlcm1pc3Npb25Db250cm9sbGVyLmNwcApAQCAtMCwwICsxLDE0MiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5o
IgorCisKKyNpbmNsdWRlICJXZWJQYWdlLmgiCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2Fn
ZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1pc3Npb25PYnNlcnZlci5oPgorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OldlYlBlcm1pc3Npb25Db250
cm9sbGVyKFdlYlBhZ2UmIHBhZ2UpCisgICAgOiBtX3BhZ2UobWFrZVdlYWtQdHIocGFnZSkpCit7
Cit9CisKK1dlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6
cXVlcnkoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2luLCBXZWJDb3JlOjpQZXJtaXNzaW9u
RGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJl
dHVybiBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkRlbmllZDsKKworICAgIHJldHVybiBxdWVy
eUNhY2hlKFdURk1vdmUob3JpZ2luKSwgV1RGTW92ZShkZXNjcmlwdG9yKSk7Cit9CisKK3ZvaWQg
V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnJlcXVlc3QoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYg
b3JpZ2luLCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmIGRlc2NyaXB0b3IsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKK3sKKyAgICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25I
YW5kbGVyKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkKTsKKworICAgIGF1dG8gY2Fj
aGVkUmVzdWx0ID0gcXVlcnlDYWNoZShvcmlnaW4sIGRlc2NyaXB0b3IpOworICAgIGlmIChjYWNo
ZWRSZXN1bHQgIT0gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpQcm9tcHQpCisgICAgICAgIHJl
dHVybiBjb21wbGV0aW9uSGFuZGxlcihjYWNoZWRSZXN1bHQpOworCisgICAgbV9yZXF1ZXN0cy5h
cHBlbmQoUGVybWlzc2lvblJlcXVlc3QgeyBXVEZNb3ZlKG9yaWdpbiksIFdURk1vdmUoZGVzY3Jp
cHRvciksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpIH0pOworICAgIHRyeVByb2Nlc3NpbmdS
ZXF1ZXN0KCk7Cit9CisKK1dlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBXZWJQZXJtaXNzaW9uQ29u
dHJvbGxlcjo6cXVlcnlDYWNoZShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mIG9yaWdpbiwg
Y29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCit7CisgICAg
aWYgKG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXMuY29udGFpbnMob3JpZ2luKSkgeworICAgICAg
ICBhdXRvIHBlcm1pc3Npb25FbnRyaWVzID0gbV9jYWNoZWRQZXJtaXNzaW9uRW50cmllcy5nZXQo
b3JpZ2luKTsKKyAgICAgICAgZm9yIChhdXRvJiBlbnRyeSA6IHBlcm1pc3Npb25FbnRyaWVzKSB7
CisgICAgICAgICAgICBpZiAoZW50cnkuZmlyc3QgPT0gZGVzY3JpcHRvcikKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZW50cnkuc2Vjb25kOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJu
IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0OworfQorCit2b2lkIFdlYlBlcm1pc3Np
b25Db250cm9sbGVyOjp1cGRhdGVDYWNoZShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mIG9y
aWdpbiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIFdl
YkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBzdGF0ZSkKK3sKKyAgICBhdXRvJiBlbnRyaWVzID0gbV9j
YWNoZWRQZXJtaXNzaW9uRW50cmllcy5lbnN1cmUob3JpZ2luLCBbJl0oKSB7CisgICAgICAgIHJl
dHVybiBWZWN0b3I8UGVybWlzc2lvbkVudHJ5PiB7IH07CisgICAgfSkuaXRlcmF0b3ItPnZhbHVl
OworICAgIGZvciAoYXV0byYgZW50cnkgOiBlbnRyaWVzKSB7CisgICAgICAgIGlmIChlbnRyeS5m
aXJzdCA9PSBkZXNjcmlwdG9yKSB7CisgICAgICAgICAgICBpZiAoZW50cnkuc2Vjb25kID09IHN0
YXRlKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgZW50cnkuc2Vjb25k
ID0gc3RhdGU7CisgICAgICAgICAgICBwZXJtaXNzaW9uQ2hhbmdlZChvcmlnaW4sIGRlc2NyaXB0
b3IsIHN0YXRlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KK30KKwor
dm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6dHJ5UHJvY2Vzc2luZ1JlcXVlc3QoKQorewor
ICAgIGlmIChtX3JlcXVlc3RzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2hp
bGUgKCFtX3JlcXVlc3RzLmlzRW1wdHkoKSkgeworICAgICAgICBhdXRvJiBjdXJyZW50UmVxdWVz
dCA9IG1fcmVxdWVzdHMuZmlyc3QoKTsKKyAgICAgICAgaWYgKGN1cnJlbnRSZXF1ZXN0LmlzV2Fp
dGluZ0ZvclJlcGx5KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIC8vIENhY2hlIG1h
eSBoYXZlIHVwZGF0ZWQuCisgICAgICAgIGF1dG8gY2FjaGVkUmVzdWx0ID0gcXVlcnlDYWNoZShj
dXJyZW50UmVxdWVzdC5vcmlnaW4sIGN1cnJlbnRSZXF1ZXN0LmRlc2NyaXB0b3IpOworICAgICAg
ICBpZiAoY2FjaGVkUmVzdWx0ICE9IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0KSB7
CisgICAgICAgICAgICBhdXRvIHRha2VuUmVxdWVzdCA9IG1fcmVxdWVzdHMudGFrZUZpcnN0KCk7
CisgICAgICAgICAgICB0YWtlblJlcXVlc3QuY29tcGxldGlvbkhhbmRsZXIoY2FjaGVkUmVzdWx0
KTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKKyAgICAgICAgY3VycmVudFJl
cXVlc3QuaXNXYWl0aW5nRm9yUmVwbHkgPSB0cnVlOworICAgICAgICBtX3BhZ2UtPnNlbmRXaXRo
QXN5bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0UGVybWlzc2lvbihjdXJy
ZW50UmVxdWVzdC5vcmlnaW4sIGN1cnJlbnRSZXF1ZXN0LmRlc2NyaXB0b3IpLCBbdGhpcywgd2Vh
a1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldKGF1dG8gc3RhdGUpIHsKKyAgICAgICAgICAgIGlm
ICghd2Vha1RoaXMpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBhdXRv
IHRha2VuUmVxdWVzdCA9IG1fcmVxdWVzdHMudGFrZUZpcnN0KCk7CisgICAgICAgICAgICB0YWtl
blJlcXVlc3QuY29tcGxldGlvbkhhbmRsZXIoc3RhdGUpOworICAgICAgICAgICAgdXBkYXRlQ2Fj
aGUodGFrZW5SZXF1ZXN0Lm9yaWdpbiwgdGFrZW5SZXF1ZXN0LmRlc2NyaXB0b3IsIHN0YXRlKTsK
KworICAgICAgICAgICAgdHJ5UHJvY2Vzc2luZ1JlcXVlc3QoKTsKKyAgICAgICAgfSk7CisgICAg
fQorfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjphZGRPYnNlcnZlcihXZWJDb3Jl
OjpQZXJtaXNzaW9uT2JzZXJ2ZXImIG9ic2VydmVyKQoreworICAgIG1fb2JzZXJ2ZXJzLmFkZChv
YnNlcnZlcik7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnJlbW92ZU9ic2Vy
dmVyKFdlYkNvcmU6OlBlcm1pc3Npb25PYnNlcnZlciYgb2JzZXJ2ZXIpCit7CisgICAgbV9vYnNl
cnZlcnMucmVtb3ZlKG9ic2VydmVyKTsKK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxl
cjo6cGVybWlzc2lvbkNoYW5nZWQoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBvcmlnaW4s
IGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBXZWJDb3Jl
OjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpCit7CisgICAgZm9yIChhdXRvJiBvYnNlcnZlciA6IG1f
b2JzZXJ2ZXJzKSB7CisgICAgICAgIGlmIChvYnNlcnZlci5vcmlnaW4oKSA9PSBvcmlnaW4gJiYg
b2JzZXJ2ZXIuZGVzY3JpcHRvcigpID09IGRlc2NyaXB0b3IpCisgICAgICAgICAgICBvYnNlcnZl
ci5zdGF0ZUNoYW5nZWQoc3RhdGUpOworICAgIH0KK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
UGVybWlzc2lvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0OGQ0ZjVjNjI5
ZjFkMDA4OWFhYTg2NjQ1YjVjM2Y5NmNkNDhhZTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIu
aApAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
IDxXZWJDb3JlL0NsaWVudE9yaWdpbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGVybWlzc2lvbkNv
bnRyb2xsZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1pc3Npb25EZXNjcmlwdG9yLmg+Cisj
aW5jbHVkZSA8d3RmL0RlcXVlLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtIYXNoU2V0Lmg+CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJQYWdlOworCitjbGFzcyBXZWJQZXJtaXNzaW9u
Q29udHJvbGxlciBmaW5hbCA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxXZWJQZXJtaXNzaW9uQ29u
dHJvbGxlcj4sIHB1YmxpYyBXZWJDb3JlOjpQZXJtaXNzaW9uQ29udHJvbGxlciB7CitwdWJsaWM6
CisgICAgZXhwbGljaXQgV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIoV2ViUGFnZSYpOworCitwcml2
YXRlOgorICAgIC8vIFdlYkNvcmU6OlBlcm1pc3Npb25Db250cm9sbGVyCisgICAgV2ViQ29yZTo6
UGVybWlzc2lvblN0YXRlIHF1ZXJ5KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmLCBXZWJDb3JlOjpQ
ZXJtaXNzaW9uRGVzY3JpcHRvciYmKSBmaW5hbDsKKyAgICB2b2lkIHJlcXVlc3QoV2ViQ29yZTo6
Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiYsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKT4mJikgZmluYWw7CisgICAg
dm9pZCBhZGRPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImKSBmaW5hbDsKKyAg
ICB2b2lkIHJlbW92ZU9ic2VydmVyKFdlYkNvcmU6OlBlcm1pc3Npb25PYnNlcnZlciYpIGZpbmFs
OworCisgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHF1ZXJ5Q2FjaGUoY29uc3QgV2ViQ29y
ZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImKTsK
KyAgICB2b2lkIHVwZGF0ZUNhY2hlKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIGNvbnN0
IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiwgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRl
KTsKKyAgICB2b2lkIHRyeVByb2Nlc3NpbmdSZXF1ZXN0KCk7CisgICAgdm9pZCBwZXJtaXNzaW9u
Q2hhbmdlZChjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpQZXJt
aXNzaW9uRGVzY3JpcHRvciYsIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk7CisKKyAgICBXZWFr
UHRyPFdlYlBhZ2U+IG1fcGFnZTsKKyAgICBXZWFrSGFzaFNldDxXZWJDb3JlOjpQZXJtaXNzaW9u
T2JzZXJ2ZXI+IG1fb2JzZXJ2ZXJzOworCisgICAgdXNpbmcgUGVybWlzc2lvbkVudHJ5ID0gc3Rk
OjpwYWlyPFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yLCBXZWJDb3JlOjpQZXJtaXNzaW9u
U3RhdGU+OworICAgIEhhc2hNYXA8V2ViQ29yZTo6Q2xpZW50T3JpZ2luLCBWZWN0b3I8UGVybWlz
c2lvbkVudHJ5Pj4gbV9jYWNoZWRQZXJtaXNzaW9uRW50cmllczsKKworICAgIHN0cnVjdCBQZXJt
aXNzaW9uUmVxdWVzdCB7CisgICAgICAgIFdlYkNvcmU6OkNsaWVudE9yaWdpbiBvcmlnaW47Cisg
ICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yIGRlc2NyaXB0b3I7CisgICAgICAg
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKT4gY29tcGxl
dGlvbkhhbmRsZXI7CisgICAgICAgIGJvb2wgaXNXYWl0aW5nRm9yUmVwbHkgeyBmYWxzZSB9Owor
ICAgIH07CisgICAgRGVxdWU8UGVybWlzc2lvblJlcXVlc3Q+IG1fcmVxdWVzdHM7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCmluZGV4IDA0ZTNhZTIwMTQzZjJmM2RiZDIwNjRhMzAyZjAxYjg0ZWRjYTk2
NDUuLjcxMWVkOGU5MjI3NmViOTMxZjU0NDVjNzRmZDZjM2IwZTllYjU0MWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xMjEsNiArMTIxLDcg
QEAKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlBheW1l
bnRDb29yZGluYXRvci5oIgogI2luY2x1ZGUgIldlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5o
IgorI2luY2x1ZGUgIldlYlBlcm1pc3Npb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiV2ViUGx1
Z2luSW5mb1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51LmgiCiAjaW5jbHVkZSAi
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIgpAQCAtNTYzLDcgKzU2NCw4IEBAIFdlYlBhZ2U6
OldlYlBhZ2UoUGFnZUlkZW50aWZpZXIgcGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
JiYgcGFyYW1ldGVycykKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJGcmFtZUxvYWRlckNsaWVu
dD4obV9tYWluRnJhbWUuY29weVJlZigpKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJTcGVl
Y2hSZWNvZ25pdGlvblByb3ZpZGVyPihtX2lkZW50aWZpZXIpLAogICAgICAgICBtYWtlVW5pcXVl
UmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKnRoaXMpLAotICAgICAgICBXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS5icm9hZGNhc3RDaGFubmVsUmVnaXN0cnkoKQorICAgICAgICBXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS5icm9hZGNhc3RDaGFubmVsUmVnaXN0cnkoKSwKKyAgICAgICAgbWFrZVVu
aXF1ZVJlZjxXZWJQZXJtaXNzaW9uQ29udHJvbGxlcj4oKnRoaXMpCiAgICAgKTsKICAgICBwYWdl
Q29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KCp0aGlzKTsK
ICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaApp
bmRleCBiYmY4ZDFiYjhjZTZjMzAxZGMzZWYyMDE5NTNkODJmZWMwNWVkZDU4Li41NmJjODFjNzhm
MzRhYTQ1MzQ3OTM1ZDI3MWVjNTcwYzNmYzdlZTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRv
ck1hYy5oCkBAIC01MCw3ICs1MCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBzdGFydE5vdGlmaWNh
dGlvbk1lY2hhbmlzbSgpIGZpbmFsOwogICAgIHZvaWQgc3RvcE5vdGlmaWNhdGlvbk1lY2hhbmlz
bSgpIGZpbmFsOwogCi0gICAgdm9pZCBhZGp1c3RQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQoRnJh
bWVzUGVyU2Vjb25kKSBmaW5hbDsKKyAgICB2b2lkIGFkanVzdFByZWZlcnJlZEZyYW1lc1BlclNl
Y29uZChXZWJDb3JlOjpGcmFtZXNQZXJTZWNvbmQpIGZpbmFsOwogCiAgICAgRGlzcGxheUxpbmtP
YnNlcnZlcklEIG1fb2JzZXJ2ZXJJRDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UnVu
TG9vcE9ic2VydmVyPiBtX3J1bkxvb3BPYnNlcnZlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBjZDZhNWY1NzI5OTRmN2VjNGZiZGU3NjM3ZGY4Njdi
ZDUyZjNjODM0Li40ODAzZWJjOWVjNzdlODhlMTViMjhlMmJlZGMxNmQ2NzNhNzI4OWNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xOTUsNiArMTk1
LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGFnZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYWdlQ29u
ZmlndXJhdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYXRoVXRpbGl0aWVzLmg+CisjaW1wb3J0
IDxXZWJDb3JlL1Blcm1pc3Npb25Db250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRm
b3JtRXZlbnRGYWN0b3J5TWFjLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtU2NyZWVuLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1Byb2dyZXNzVHJhY2tlci5oPgpAQCAtMTUzNiw3ICsxNTM3LDgg
QEAgc3RhdGljIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUdhbWVwYWRQcm92aWRlcklmTmVjZXNzYXJ5
KCkKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJGcmFtZUxvYWRlckNsaWVudD4oKSwKICAgICAg
ICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpEdW1teVNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+
KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TWVkaWFSZWNvcmRlclByb3ZpZGVy
PigpLAotICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRlKFtb
c2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0pCisgICAgICAgIFdlYkJy
b2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoW1tzZWxmIHByZWZlcmVuY2VzXSBw
cml2YXRlQnJvd3NpbmdFbmFibGVkXSksCisgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6
RHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlcj4oKQogICAgICk7CiAjaWYgIVBMQVRGT1JNKElPU19G
QU1JTFkpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9t
ZUNsaWVudChzZWxmKTsKQEAgLTE4MTQsNyArMTgxNiw4IEBAIHN0YXRpYyB2b2lkIFdlYktpdElu
aXRpYWxpemVHYW1lcGFkUHJvdmlkZXJJZk5lY2Vzc2FyeSgpCiAgICAgICAgIG1ha2VVbmlxdWVS
ZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29y
ZTo6RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigpLAogICAgICAgICBtYWtlVW5pcXVl
UmVmPFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKSwKLSAgICAgICAgV2ViQnJvYWRj
YXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShbW3NlbGYgcHJlZmVyZW5jZXNdIHByaXZh
dGVCcm93c2luZ0VuYWJsZWRdKQorICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6
OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0p
LAorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15UGVybWlzc2lvbkNvbnRyb2xs
ZXI+KCkKICAgICApOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBX
ZWJDaHJvbWVDbGllbnRJT1Moc2VsZik7CiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViVmlldy5jcHAKaW5kZXggMWNmMzJkYTI0YTA5MGNmZTNkMmI2NTI5Y2E4
M2Y4MjZjNTU4MmU5ZC4uYzE5ZThlZmY1N2Y4MTkwZWEyYzRiY2UzMTVmMGY4MGIzOTJjMTliNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKQEAgLTEzOCw2ICsxMzgsNyBAQAogI2lu
Y2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2VD
b25maWd1cmF0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYXRoVXRpbGl0aWVzLmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uQ29udHJvbGxlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybU1vdXNl
RXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtV2hlZWxFdmVudC5oPgpAQCAtMzEz
Myw3ICszMTM0LDggQEAgSFJFU1VMVCBXZWJWaWV3Ojppbml0V2l0aEZyYW1lKFJFQ1QgZnJhbWUs
IF9Jbl8gQlNUUiBmcmFtZU5hbWUsIF9Jbl8gQlNUUiBncm91cE4KICAgICAgICAgbWFrZVVuaXF1
ZVJlZjxXZWJGcmFtZUxvYWRlckNsaWVudD4od2ViRnJhbWUpLAogICAgICAgICBtYWtlVW5pcXVl
UmVmPER1bW15U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4oKSwKICAgICAgICAgbWFrZVVuaXF1
ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCksCi0gICAgICAgIFdlYkJyb2FkY2FzdENoYW5u
ZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoZmFsc2UpCisgICAgICAgIFdlYkJyb2FkY2FzdENoYW5u
ZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUoZmFsc2UpLAorICAgICAgICBtYWtlVW5pcXVlUmVmPER1
bW15UGVybWlzc2lvbkNvbnRyb2xsZXI+KCkKICAgICApOwogICAgIGNvbmZpZ3VyYXRpb24uY2hy
b21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudCh0aGlzKTsKICNpZiBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBmMTM1ZmRjMzA5NzU2MDk3NmRhODA4Yzk5ODlmMDA3M2JjOTFkNGU5
Li41ZTFkOGZjNTU5OWIxOTFkMDJjMzgxZWFkOTI5YWE0ZDk5NGM2NmFmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMjEtMDgtMzAgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisK
KyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEv
ZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFz
aC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnM6
CisKIDIwMjEtMDgtMjUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBDcmFzaCBpbiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cmVzaGFwZURp
c3BsYXlCdWZmZXJCYWNraW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA4YTY2
NTBmODgyODQ5OTgwMmE5ZDIwZWZlNjliNTQzMzdiNjQ0YjhmLi44MjY4ODA0NWJjMTgxNjQ2ZjAx
YjVkZjU1MGVjNWM1ODZhYzUwODI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMCBAQAorMjAyMS0wOC0zMCAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS84MjQ0MjIwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNz
LmFueS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Np
b25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnkt
ZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9z
Y3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lv
bi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25z
L3Rlc3QtcGVyaW9kaWMtYmFja2dyb3VuZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Ogor
CiAyMDIxLTA4LTI1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
W01hYyB3azJdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmln
aW4tZW1iZWRkZXItcG9saWN5L3JlcG9ydGluZy10by1mcmFtZS1vd25lci5odHRwcy5odG1sIGlz
IGEgZmxha3kgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNmJkZTJmOTRlYWQyMTdiODY0
NDMyNTcxOGMxZjRjNjIxMWYyNzY3MC4uOGJjOTM2OGQ4YThlZDI4YmFhYTU0MTNkYmY4YWJmMmMx
NmZkMTkxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xOTYsNiArMTk2LDcgQEAgZmFzdC9zcGVl
Y2hyZWNvZ25pdGlvbi9wZXJtaXNzaW9uLWVycm9yLmh0bWwgWyBTa2lwIF0KIGZhc3Qvc3BlZWNo
cmVjb2duaXRpb24vc3RhcnQtcmVjb2duaXRpb24tdGhlbi1zdG9wLmh0bWwgWyBTa2lwIF0KIGZh
c3Qvc3BlZWNocmVjb2duaXRpb24vc3RhcnQtc2Vjb25kLXJlY29nbml0aW9uLmh0bWwgWyBTa2lw
IF0KIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vaW9zLyBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy8gWyBTa2lwIF0KIAogIyBhcHAtcHJpdmFjeS1y
ZXBvcnQgdGVzdHMgcmVseSBvbiBXZWJLaXRBZGRpdGlvbnMKIGh0dHAvdGVzdHMvYXBwLXByaXZh
Y3ktcmVwb3J0LyBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Np
b25zL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dAppbmRleCBiODRkNDBkNzY1ZjIwNDA4M2Rl
ZjhiNjc3MDBjNDIwNDRiMDM0Njk4Li4wYzRiYWEwY2ZlZTAxZjk0Y2VhZjRhZjdmYjM4Zjg5YjRm
YjZiYmU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhh
cm5lc3MuYW55LWV4cGVjdGVkLnR4dApAQCAtMTksMjkgKzE5LDI5IEBAIFBBU1MgV29ya2VyTmF2
aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFT
UyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JPbkxp
bmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRl
cyBOYXZpZ2F0b3JDb25jdXJyZW50SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCi1G
QUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVy
bWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBv
YmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9u
U3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBu
YW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
IlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBt
aXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhw
ZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lv
blN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIg
ZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlz
c2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1
cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNz
aW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4
cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Np
b25TdGF0dXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBwZXJtaXNzaW9uU3RhdHVzIGFz
c2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3Qg
ZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBwZXJt
aXNzaW9uU3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZh
bHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBlcm1pc3Np
b25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAic3RhdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQg
ZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9i
amVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0
dXMiCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2Vy
dF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhw
ZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVj
dGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRl
cmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Np
b25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNz
aW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1p
c3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMi
IG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3Bl
cnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
IlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZB
SUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25z
IiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lv
bnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2JqZWN0KSBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQg
cHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIG11c3QgYmUg
cHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zIGFzc2VydF9lcXVhbHM6
IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVk
IgotRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zIGFzc2VydF9l
cXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5k
ZWZpbmVkIgotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG5hdmlnYXRvci5wZXJtaXNzaW9u
cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInF1ZXJ5KG9iamVjdCkiIHdpdGggdGhlIHByb3BlciB0
eXBlIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIg
YnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGNhbGxpbmcg
cXVlcnkob2JqZWN0KSBvbiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgd2l0aCB0b28gZmV3IGFyZ3Vt
ZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2Jq
ZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgTmF2aWdhdG9y
IGludGVyZmFjZTogYXR0cmlidXRlIHBlcm1pc3Npb25zIGFzc2VydF90cnVlOiBUaGUgcHJvdG90
eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAicGVybWlzc2lvbnMiIGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCi1GQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IG5hdmlnYXRvciBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgInBlcm1pc3Npb25zIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRf
aW5oZXJpdHM6IHByb3BlcnR5ICJwZXJtaXNzaW9ucyIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBj
aGFpbgorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZh
Y2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3Qg
bmFtZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Npb25TdGF0
dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25TdGF0
dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25TdGF0
dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3RhdGUKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbmNoYW5nZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIG11c3QgYmUg
cHJpbWFyeSBpbnRlcmZhY2Ugb2YgcGVybWlzc2lvblN0YXR1cworUEFTUyBTdHJpbmdpZmljYXRp
b24gb2YgcGVybWlzc2lvblN0YXR1cworUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTog
cGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0YXRlIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0
YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbGVu
Z3RoCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQZXJtaXNz
aW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIg
cHJvcGVydHkKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3Bl
cnR5CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5KG9iamVjdCkK
K1BBU1MgUGVybWlzc2lvbnMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3Iu
cGVybWlzc2lvbnMKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5wZXJtaXNzaW9u
cworUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG5hdmlnYXRvci5wZXJtaXNzaW9ucyBtdXN0
IGluaGVyaXQgcHJvcGVydHkgInF1ZXJ5KG9iamVjdCkiIHdpdGggdGhlIHByb3BlciB0eXBlCitQ
QVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogY2FsbGluZyBxdWVyeShvYmplY3QpIG9uIG5hdmln
YXRvci5wZXJtaXNzaW9ucyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVy
cm9yCitQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwZXJtaXNzaW9ucworUEFT
UyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBuYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJw
ZXJtaXNzaW9ucyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNz
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0CmluZGV4IDUyNTYwMmQxNmQ3ZjBmNTRjYThlZjAzZjdmY2Y1YjRlZWVmMzE2OTcuLjA2MmIy
OTU3ZjMxNTUxYjM1MmE0OTU0MTZjM2Y0YWJmYTU3OTllNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVz
cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQKQEAgLTE5LDI1ICsxOSwyNSBAQCBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRl
cyBOYXZpZ2F0b3JJRDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdh
dG9yIGluY2x1ZGVzIE5hdmlnYXRvckxhbmd1YWdlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQog
UEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yT25MaW5lOiBtZW1iZXIgbmFt
ZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29u
Y3VycmVudEhhcmR3YXJlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQotRkFJTCBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBv
YmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMi
IG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJt
aXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2lu
ZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3Rh
dHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQ
ZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5
ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3Bl
cnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3RhdGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVy
dHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbmNoYW5nZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0
eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZworUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1Mg
UGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3Bl
cnR5CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3Bl
cnR5CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3RhdGUKK1BB
U1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNoYW5nZQogRkFJTCBQ
ZXJtaXNzaW9uU3RhdHVzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgcGVybWlzc2lvblN0
YXR1cyBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcg
b2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgogRkFJTCBTdHJpbmdpZmljYXRpb24g
b2YgcGVybWlzc2lvblN0YXR1cyBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3
aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgogRkFJTCBQ
ZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQg
cHJvcGVydHkgInN0YXRlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4
cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0
IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNz
aW9uU3RhdHVzIgogRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0
YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2Jq
ZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25z
IiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lv
bnMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQ
ZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IG5h
bWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
UGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJ
TCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90
IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1p
c3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNz
aW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJt
aXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBl
cm1pc3Npb25zIGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5KG9iamVjdCkgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4
cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZworUEFTUyBQZXJtaXNzaW9ucyBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQ
QVNTIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1pc3Npb25z
IGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBQ
ZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUGVybWlz
c2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25z
IGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5KG9iamVjdCkKIEZBSUwgUGVybWlzc2lvbnMgbXVz
dCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgYXNzZXJ0X2Vx
dWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRl
ZmluZWQiCiBGQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgYXNz
ZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290
ICJ1bmRlZmluZWQiCiBGQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogbmF2aWdhdG9yLnBlcm1p
c3Npb25zIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVlcnkob2JqZWN0KSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2Jq
ZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvbmZjLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CmluZGV4IGMzZTg2MDVmODcyODdh
ODAzODFmNWRiODA2Y2RkMDVhMjU1NjVkZGUuLmMyZmQ2NWU4ZDQwMDJhNzIzMDE4N2E2MWY1MWMy
ODJlZmMxYzZiZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
bmZjLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3Qg
V2ViIE5GQyBQZXJtaXNzaW9uLiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykKK1BBU1MgVGVzdCBXZWIgTkZDIFBlcm1p
c3Npb24uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0
cmlidXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUt
cG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0ZWQudHh0CmluZGV4IGU0MmRkYTI2MTJm
MjU3YjdmMDJiYmVlZjY1NjMzYjI1YjczNjQ3YTUuLmM0YmEyNDkyZTk5MTk5ZDY2NjA1YThjMDFh
YTAxNTFiOTYyNDYwNzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xp
Y3ktYXR0cmlidXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVy
eS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dApAQCAtMSw2
ICsxLDYgQEAKIAotRkFJTCBQZXJtaXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93
PSJnZW9sb2NhdGlvbiIgaW4gc2FtZS1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2
aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcp
ICJwcm9tcHQiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAotRkFJTCBQZXJtaXNzaW9ucy5zdGF0ZSBp
cyAicHJvbXB0IiB3aXRoIGFsbG93PSJnZW9sb2NhdGlvbiIgaW4gY3Jvc3Mtb3JpZ2luIGlmcmFt
ZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9jYXRp
b24iKSBleHBlY3RlZCAoc3RyaW5nKSAicHJvbXB0IiBidXQgZ290IChvYmplY3QpIG51bGwKLUZB
SUwgUGVybWlzc2lvbi5zdGF0ZSBpcyAicHJvbXB0IiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLiBh
c3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikg
ZXhwZWN0ZWQgKHN0cmluZykgInByb21wdCIgYnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIFBl
cm1pc3Npb24uc3RhdGUgaXMgImRlbmllZCIgaW4gY3Jvc3Mtb3JpZ2luIGlmcmFtZXMuIGFzc2Vy
dF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9jYXRpb24iKSBleHBl
Y3RlZCAoc3RyaW5nKSAiZGVuaWVkIiBidXQgZ290IChvYmplY3QpIG51bGwKK1BBU1MgUGVybWlz
c2lvbnMuc3RhdGUgaXMgInByb21wdCIgd2l0aCBhbGxvdz0iZ2VvbG9jYXRpb24iIGluIHNhbWUt
b3JpZ2luIGlmcmFtZXMuCitQQVNTIFBlcm1pc3Npb25zLnN0YXRlIGlzICJwcm9tcHQiIHdpdGgg
YWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBjcm9zcy1vcmlnaW4gaWZyYW1lcy4KK1BBU1MgUGVybWlz
c2lvbi5zdGF0ZSBpcyAicHJvbXB0IiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLgorRkFJTCBQZXJt
aXNzaW9uLnN0YXRlIGlzICJkZW5pZWQiIGluIGNyb3NzLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRf
ZXF1YWxzOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0
ZWQgImRlbmllZCIgYnV0IGdvdCAicHJvbXB0IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3Rh
dHVzLW5hbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4
dAppbmRleCAxMWZiMWEwZDYxMjRkYTk0ZTAwMWU3ZGQ5MjNlMDE3Y2U2OWU3OGJhLi4wZTRlYmNj
NDdjY2I5Mzg5MDhlY2U4NGNjNjhmMTUzZDA4NTM3OWE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25z
c3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNzdGF0dXMtbmFtZS1leHBl
Y3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCBQZXJtaXNzaW9uU3RhdHVzJ3Mg
bmFtZSBhdHRyaWJ1dGUuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeScpIgorUEFTUyBUZXN0IFBlcm1pc3Np
b25TdGF0dXMncyBuYW1lIGF0dHJpYnV0ZS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2Nr
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhw
ZWN0ZWQudHh0CmluZGV4IDg1YzdiYmE1YzJiMjQ1OTNmNTFlMjE0NmJlMjViZDE2ZmEwNWZmNTgu
LmQ2OGI2ODBiODE5ZGUxN2MzYWQzNWJkNThlNmY1MGQxNWE2ZGJhYmQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvc2Ny
ZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxv
Y2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCAi
c2NyZWVuLXdha2UtbG9jayIgUGVybWlzc2lvbi4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykiCitGQUlM
IFRlc3QgInNjcmVlbi13YWtlLWxvY2siIFBlcm1pc3Npb24uIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Np
b25zL3Rlc3QtYmFja2dyb3VuZC1mZXRjaC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAppbmRleCA5
YTk0MjY5ZmI3NDM4ZmM2M2JlMThkMDBjZDI5OTdjYzU5YmE4ZGQ2Li43ODViYjU4NWY1MTU5NWZk
ZWEwNTIzNDE2NzIzODEzYzhkYjIzMTU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1mZXRj
aC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1mZXRjaC1wZXJt
aXNzaW9uLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IEJhY2tncm91
bmQgRmV0Y2ggUGVybWlzc2lvbi4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRp
bmcgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeScpCitQQVNTIFRlc3QgQmFja2dyb3VuZCBG
ZXRjaCBQZXJtaXNzaW9uLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dyb3VuZC1z
eW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3lu
Yy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAppbmRleCAzMTZkMzUxYTBlMDc1NGIxZTUwOWJmM2Nh
MGFkYTRiNjRkZTM1NmE3Li40ZTlmMzdhODc1NmViMTdhMmZiODRmMTE3MDJhMTQzYTg2YjcwOTli
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dyb3VuZC1zeW5jLXBlcm1pc3Npb24tZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCBQZXJpb2RpYyBCYWNrZ3Jv
dW5kIFN5bmMgUGVybWlzc2lvbi4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykiCitGQUlMIFRlc3QgUGVy
aW9kaWMgQmFja2dyb3VuZCBTeW5jIFBlcm1pc3Npb24uIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9mYXN0L2RvbS9uYXZpZ2F0
b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0
CmluZGV4IGM0NmZlYzY0MDU5OGJkZjliZmVjNWJmYjc1MTFkNjcwODdlYzFiNmUuLmUwODE3MDM0
NTgwYTNlMmQzMmEwYzBjNWM2ZGRjZjU0NTc1MmM5MTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2Zhc3QvZG9tL25h
dmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTEzLDYgKzEzLDcgQEAg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGlzIE9LCiBuYXZpZ2F0b3IubWVkaWFTZXNzaW9u
IGlzIE9LCiBuYXZpZ2F0b3IubWltZVR5cGVzIGlzIE9LCiBuYXZpZ2F0b3Iub25MaW5lIGlzIE9L
CituYXZpZ2F0b3IucGVybWlzc2lvbnMgaXMgT0sKIG5hdmlnYXRvci5wbGF0Zm9ybSBpcyBPSwog
bmF2aWdhdG9yLnBsdWdpbnMgaXMgT0sKIG5hdmlnYXRvci5wcm9kdWN0IGlzIE9LCkBAIC0zNiw2
ICszNyw3IEBAIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBpcyBPSwogbmF2aWdhdG9yLm1l
ZGlhU2Vzc2lvbiBpcyBPSwogbmF2aWdhdG9yLm1pbWVUeXBlcyBpcyBPSwogbmF2aWdhdG9yLm9u
TGluZSBpcyBPSworbmF2aWdhdG9yLnBlcm1pc3Npb25zIGlzIE9LCiBuYXZpZ2F0b3IucGxhdGZv
cm0gaXMgT0sKIG5hdmlnYXRvci5wbHVnaW5zIGlzIE9LCiBuYXZpZ2F0b3IucHJvZHVjdCBpcyBP
SwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZp
Z2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQu
dHh0CmluZGV4IGRmOTAxMDkwNGQ1NzdlODVhMDc2NjY3YTkzN2FkNzdlNmQ4ZjU5NTcuLmM2OGQz
Y2EwYjMwY2RjZWU3ZGUxZWI3YmU0MTM2OWEwYmVkYjgzYmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNo
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9t
L25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTE4LDYgKzE4LDcg
QEAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGlzIE9LCiBuYXZpZ2F0b3IubWVkaWFTZXNz
aW9uIGlzIE9LCiBuYXZpZ2F0b3IubWltZVR5cGVzIGlzIE9LCiBuYXZpZ2F0b3Iub25MaW5lIGlz
IE9LCituYXZpZ2F0b3IucGVybWlzc2lvbnMgaXMgT0sKIG5hdmlnYXRvci5wbGF0Zm9ybSBpcyBP
SwogbmF2aWdhdG9yLnBsdWdpbnMgaXMgT0sKIG5hdmlnYXRvci5wcm9kdWN0IGlzIE9LCkBAIC01
MSw2ICs1Miw3IEBAIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBpcyBPSwogbmF2aWdhdG9y
Lm1lZGlhU2Vzc2lvbiBpcyBPSwogbmF2aWdhdG9yLm1pbWVUeXBlcyBpcyBPSwogbmF2aWdhdG9y
Lm9uTGluZSBpcyBPSworbmF2aWdhdG9yLnBlcm1pc3Npb25zIGlzIE9LCiBuYXZpZ2F0b3IucGxh
dGZvcm0gaXMgT0sKIG5hdmlnYXRvci5wbHVnaW5zIGlzIE9LCiBuYXZpZ2F0b3IucHJvZHVjdCBp
cyBPSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2Y2Vl
MGZhMmQ0ZDVkZmY2YjlkNjE4MjdlZWUzZTkxNGQ5NzliOTQ1Li40MDhjOGI0MWJjNDNjYTFiMzNm
MDY0NzkxMGEyYmE1YzY2MzM2ZGJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtODYwLDQgKzg2MCw1IEBAIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vcGVy
bWlzc2lvbi1lcnJvci5odG1sIFsgUGFzcyBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0
LXJlY29nbml0aW9uLXRoZW4tc3RvcC5odG1sIFsgUGFzcyBdCiBmYXN0L3NwZWVjaHJlY29nbml0
aW9uL3N0YXJ0LXNlY29uZC1yZWNvZ25pdGlvbi5odG1sIFsgUGFzcyBdCiBmdWxsc2NyZWVuL2Z1
bGwtc2NyZWVuLWVudGVyLXdoaWxlLWV4aXRpbmcuaHRtbCBbIFBhc3MgXQoraW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy8gWyBQYXNzIF0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436784</attachid>
            <date>2021-08-30 09:47:10 -0700</date>
            <delta_ts>2021-08-30 10:19:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210830094709.patch</filename>
            <type>text/plain</type>
            <size>129060</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLmMwYjM2Yzc3NjIyZWQxNjljNzdlMzM3YzRiYzlmNTg2Njk0NzQ2
MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDgtMzAgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVu
Y2VzRXhwZXJpbWVudGFsLnlhbWw6CisKIDIwMjEtMDgtMjUgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHNvbWUgaU9TLXNwZWNpZmljIGNv
bXBpbGUtdGltZSBndWFyZHMgdGhhdCBhcmUgbm8gbG9uZ2VyIG5lZWRlZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGRhOTM1MmRkOGVmOWRjZDk1ZmJkNjcxMmI1NGViNGVlZmZlZDI1YzIuLjAxYzM4YTgwNmRmNTY5
MDk4MjAwNzE0MjVmOTNjZmVmZmExMzJlYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NyBAQAor
MjAyMS0wOC0zMCAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MjQ0
MjIwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgYmluZGluZ3MgY29kZSBhbmQgYSBmZWF0dXJlIGZsYWcgZm9yIFBlcm1pc3Npb25zIEFQSS4K
KyAgICAgICAgU3BlYzogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLworCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gUmViYXNlbGluZSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAg
ICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbDogQWRkZWQu
CisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6Ok5hdmlnYXRv
clBlcm1pc3Npb25zKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpw
ZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6ZnJv
bSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6c3VwcGxlbWVudE5h
bWUpOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMu
aDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uQ29udHJv
bGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0
b3I6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbkRlc2Ny
aXB0b3I6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3Jp
cHRvcjo6ZGVjb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uTmFtZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25OYW1lLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJt
aXNzaW9uT2JzZXJ2ZXIuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uU3RhdGUuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uU3RhdGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25TdGF0dXMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Np
b25TdGF0dXM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdHVzOjpQ
ZXJtaXNzaW9uU3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6On5Q
ZXJtaXNzaW9uU3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OnN0
YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdHVzOjphY3RpdmVE
T01PYmplY3ROYW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6
OnZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXR1czo6ZXZlbnRMaXN0ZW5lcnNEaWRDaGFuZ2UpOgorICAgICAgICAqIE1vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpQZXJtaXNzaW9uczo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25z
OjpQZXJtaXNzaW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uczo6bmF2aWdhdG9y
KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpxdWVyeSk6CisgICAgICAgICogTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmlkbDogQWRkZWQuCisgICAgICAgICogU291cmNlcy50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRG9j
dW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBlcm1pc3Npb25Db250cm9s
bGVyKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJn
ZXRGYWN0b3J5LmluOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpwZXJtaXNzaW9uQ29udHJv
bGxlcik6CisgICAgICAgICogZG9tL1Rhc2tTb3VyY2UuaDoKKyAgICAgICAgKiBsb2FkZXIvRW1w
dHlDbGllbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhZ2VDb25maWd1cmF0aW9uV2l0aEVt
cHR5Q2xpZW50cyk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Om1fcGVybWlzc2lvbkNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6cGVybWlz
c2lvbkNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6bV9odHRwc1VwZ3JhZGVFbmFibGVk
KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKiBwYWdlL1BhZ2VD
b25maWd1cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDb25maWd1cmF0aW9uOjpQ
YWdlQ29uZmlndXJhdGlvbik6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oOgor
CiAyMDIxLTA4LTI1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgQ3Jhc2ggaW4gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnJlc2hhcGVEaXNw
bGF5QnVmZmVyQmFja2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0MjQxYjJlNmZhNzg1NGYxNWZkMzNjNmNhOWM3
ZmViMzdiYzFkYjIxLi4zZWQ2MjhlMTc5MWI3NjIzZjgxMGRjZTM0OTdlYjIxN2Q3NzE2YzNhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIxLTA4LTMwICBTaWh1aSBMaXUgIDxzaWh1aV9s
aXVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdHVicyBmb3IgUGVybWlzc2lvbnMgQVBJCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzMzkKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgyNDQyMjA1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFNldCB1cCBiYXNpYyBpbmZyYXN0cnVjdHVyZSBvZiBw
ZXJtaXNzaW9uIGdldHRpbmcgYW5kIHNldHRpbmcuCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5OjpyZXF1ZXN0UGVybWlzc2lvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW46CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6V2ViUGVy
bWlzc2lvbkNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJv
bGxlcjo6cXVlcnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6
cmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjpxdWVy
eUNhY2hlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnVwZGF0
ZUNhY2hlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnRyeVBy
b2Nlc3NpbmdSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xs
ZXI6OmFkZE9ic2VydmVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xs
ZXI6OnJlbW92ZU9ic2VydmVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRy
b2xsZXI6OnBlcm1pc3Npb25DaGFuZ2VkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV9hcHBIaWdobGln
aHRzVmlzaWJsZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVm
cmVzaE1vbml0b3JNYWMuaDoKKwogMjAyMS0wOC0yNiAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9y
aS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbY3VybF0gUkVHUkVTU0lPTihyMjgxMTU4KTog
ZmV0Y2goJ2h0dHA6Ly9sb2NhbGhvc3QvJykgZnJvbSBhYm91dDpibGFuayBkb2Vzbid0IGVtaXQg
dGhlIGNvbnNvbGUgZXJyb3IgbWVzc2FnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4
IDQ1YTU0ODZlMDU4MDVkOTdiYzFlNDhiNDRmOTNkYTMwMzI4YTZhMWQuLjQ5Y2RlNDQyMzIwN2Vi
YTM1MDU2YTg1ZWY0ZDVlY2I4OGJiMzlkMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAyMS0wOC0zMCAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS84MjQ0MjIwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmll
dyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKyAgICAg
ICAgKC1bV2ViVmlldyBpbml0U2ltcGxlSFRNTERvY3VtZW50V2l0aFN0eWxlOmZyYW1lOnByZWZl
cmVuY2VzOmdyb3VwTmFtZTpdKToKKwogMjAyMS0wOC0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgogCiAgICAgICAgIFtXSzJdIEltcGxlbWVudCBwcm9jZXNzLXN3YXBwaW5nIGJh
c2VkIG9uIENyb3NzLU9yaWdpbi1PcGVuZXItUG9saWN5IEhUVFAgaGVhZGVyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9DaGFuZ2VMb2cKaW5kZXggZTI4MTUxMDI5OGE4YzczNjQxZGM0MDQ5NTY5N2EyZGY0NWE1
MTNjYS4uN2NlM2JkNzlmMThkZjI1MTZiNTE0ZGZiOTdhZjNlY2ZkNzg2NjNjZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA4LTMwICBTaWh1aSBM
aXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdHVicyBmb3IgUGVybWlz
c2lvbnMgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjkzMzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgyNDQyMjA1PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAg
ICAgIChXZWJWaWV3Ojppbml0V2l0aEZyYW1lKToKKwogMjAyMS0wOC0yNCAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtXSzJdIEltcGxlbWVudCBwcm9jZXNzLXN3
YXBwaW5nIGJhc2VkIG9uIENyb3NzLU9yaWdpbi1PcGVuZXItUG9saWN5IEhUVFAgaGVhZGVyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNF
eHBlcmltZW50YWwueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVm
ZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCmluZGV4IDE4NWE1YWMwZjQ1NGM3NmMwMzQ3OTJhZDE4
NTc2MWZjY2E2OTQ5OTEuLjU1NTQ2MDBkYmM2NjU4ZmExY2FiMmQwNThjZDUzNWRhZjUyOTMxYzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNl
c0V4cGVyaW1lbnRhbC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9X
ZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCkBAIC04ODEsNiArODgxLDE4IEBAIFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmdTZW5zaXRpdmVQcm9wZXJ0aWVzRW5hYmxlZDoKICAgICBXZWJD
b3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorUGVybWlzc2lvbnNBUElFbmFibGVkOgorICB0
eXBlOiBib29sCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiUGVybWlzc2lvbnMgQVBJIgorICBodW1h
blJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgUGVybWlzc2lvbnMgQVBJIgorICBkZWZhdWx0
VmFsdWU6CisgICAgV2ViS2l0TGVnYWN5OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJL
aXQ6CisgICAgICBkZWZhdWx0OiBmYWxzZQorICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBm
YWxzZQorCiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudERlYnVnTW9kZUVuYWJsZWQ6CiAgIHR5cGU6
IGJvb2wKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50IERl
YnVnIE1vZGUiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGJiYjg0MmE1MzlhMTA4N2M5ZTFkYjQ2
M2QwMTlkZDJiMTIzMTQyYzkuLjA3ZTVlMDU1OGY2ZGRkNDExZWM0Y2Y1OTZkZTM0M2Y0ODNjMDk3
N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00OCw2ICs0OCw3IEBAIHNldChXZWJDb3JlX1BS
SVZBVEVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL25h
dmlnYXRvcmNvbnRlbnR1dGlscyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9ub3RpZmlj
YXRpb25zIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0IgorICAg
ICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3Blcm1pc3Npb25zIgogICAgICIke1dFQkNPUkVfRElS
fS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
cGx1Z2lucyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9yZW1vdGVwbGF5YmFjayIKQEAg
LTIwMSw2ICsyMDIsNyBAQCBzZXQoV2ViQ29yZV9JRExfSU5DTFVERVMKICAgICBNb2R1bGVzL21v
ZGVsLWVsZW1lbnQKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMKICAgICBNb2R1bGVzL3BheW1l
bnRyZXF1ZXN0CisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucwogICAgIE1vZHVsZXMvc3BlZWNoCiAg
ICAgTW9kdWxlcy9zdHJlYW1zCiAgICAgTW9kdWxlcy93ZWJhdWRpbwpAQCAtNDYwLDYgKzQ2Miwx
MyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvcGF5bWVudHJl
cXVlc3QvUGF5bWVudFNoaXBwaW5nVHlwZS5pZGwKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0
L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzLmlkbAogCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9O
YXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uRGVzY3JpcHRvci5pZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1l
LmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbAorICAgIE1v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5pZGwKKyAgICBNb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25zLmlkbAorCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0Rv
Y3VtZW50K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0dXJl
L0RvY3VtZW50T3JTaGFkb3dSb290K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9w
aWN0dXJlaW5waWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmlkbApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggMzliMmIzMDA0
ZTRjNTc5NDM3ZTY1YWNhOTczMjdjNzhkNGQ3NDVkZS4uNTExYjUxMzEyMDBhYmVjODNiZTQ5MDdh
N2JlNDE5MjNhNjJmMzY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0CkBAIC0zODgsNiArMzg4LDEyIEBAICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdPcHRpb24uaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ1R5cGUuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3Jz
LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlz
c2lvbnMuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uTmFtZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
blN0YXRlLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
U3RhdHVzLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
cy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudCtQ
aWN0dXJlSW5QaWN0dXJlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9waWN0dXJlaW5waWN0
dXJlL0RvY3VtZW50T3JTaGFkb3dSb290K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQu
aWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
CmluZGV4IDE5NjcxZjc1MDZkNmE3OTM3NGM1ZWE0NWFjNzcxZmM3ZjFiNzk1MmIuLjliNDg0YWJh
NDhjMmM1Y2ZjNjBhY2VlZWMyOTNlYmNhOWMzOTcxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xMzc3LDYgKzEzNzcsOCBAQCAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitN
ZWRpYURldmljZXMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU05hdmlnYXRvcitNZWRpYURldmljZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFTZXNzaW9uLmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFT
ZXNzaW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
TmF2aWdhdG9yK1Blcm1pc3Npb25zLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrUGVybWlzc2lvbnMuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViRHJpdmVyLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3Ir
V2ViRHJpdmVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTmF2aWdhdG9yK1dlYlhSLmNwcApAQCAtMTU4Myw2ICsxNTg1LDE2IEBAICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlQ29uc3RyYWlu
dHMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bl
cmlvZGljV2F2ZUNvbnN0cmFpbnRzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlT3B0aW9ucy5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlT3B0aW9ucy5oCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25EZXNj
cmlwdG9yLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNQZXJtaXNzaW9uRGVzY3JpcHRvci5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25OYW1lLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uTmFtZS5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0ZS5jcHAKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvblN0
YXRlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVy
bWlzc2lvblN0YXR1cy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUGVybWlzc2lvblN0YXR1cy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25zLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9ucy5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BpY3R1cmVJ
blBpY3R1cmVXaW5kb3cuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNQbGF5YmFja0RpcmVjdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CmluZGV4IGQ2NGU2NWU4NmU1ZTExNDI2NjdhOWUzODI3NjgzYTk2OTJmMjdhZjEuLmY5ZWU2NDI4
YmEwYTU0ZDU0YzAyNTdhYTZkNmEwMDAxZTJlNDIxYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQpAQCAtMzI0LDYgKzMyNCwxMiBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdPcHRpb24uaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5n
VHlwZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50
VmFsaWRhdGlvbkVycm9ycy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9u
cy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJl
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnQr
UGljdHVyZUluUGljdHVyZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5w
aWN0dXJlL0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpp
bmRleCBlYjA3YjgwYzk5MzNkNjlhOGMzNjMxOTE4Yzc1ZGJlNGUzN2E5MmI4Li43NmNlMGM2NjFm
ZWU4MzBkMTc2ZTM2MWY1Nzk4NzM1YzdhZTFlMGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTEy
OSw2ICsxMjksMTIgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAg
IE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uLmgKICAgICBNb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgKIAorICAg
IE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaAorICAgIE1vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaAorICAgIE1vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbk5hbWUuaAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk9i
c2VydmVyLmgKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCisKICAg
ICBNb2R1bGVzL3BsdWdpbnMvUGx1Z2luUmVwbGFjZW1lbnQuaAogICAgIE1vZHVsZXMvcGx1Z2lu
cy9Zb3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQuaAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjBiMTI3ZTdmM2ExYzU2NjZjZDBkMGM4OGZlOTExZTk2YzgzNGY2NQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9y
K1Blcm1pc3Npb25zLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNuYXZpZ2F0b3ItYW5kLXdvcmtlcm5hdmlnYXRv
ci1leHRlbnNpb24KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCisg
ICAgSW1wbGVtZW50ZWRCeT1OYXZpZ2F0b3JQZXJtaXNzaW9ucworXSBwYXJ0aWFsIGludGVyZmFj
ZSBOYXZpZ2F0b3IgeworICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgUGVybWlz
c2lvbnMgcGVybWlzc2lvbnM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
OTFmNTU1ODg2ZDhlNzFhMzQ5ZWU3NWJmM2M0MTZmMDJmMWM0N2FiCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9u
cy5jcHAKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oIgorCisjaW5jbHVkZSAiTmF2aWdhdG9y
LmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbnMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitO
YXZpZ2F0b3JQZXJtaXNzaW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMoTmF2aWdhdG9yJiBuYXZp
Z2F0b3IpCisgICAgOiBtX25hdmlnYXRvcihuYXZpZ2F0b3IpCit7Cit9CisKK1JlZlB0cjxQZXJt
aXNzaW9ucz4gTmF2aWdhdG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2
aWdhdG9yKQoreworICAgIHJldHVybiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6ZnJvbShuYXZpZ2F0
b3IpLT5wZXJtaXNzaW9ucygpOworfQorCitSZWZQdHI8UGVybWlzc2lvbnM+IE5hdmlnYXRvclBl
cm1pc3Npb25zOjpwZXJtaXNzaW9ucygpCit7CisgICAgaWYgKCFtX3Blcm1pc3Npb25zKQorICAg
ICAgICBtX3Blcm1pc3Npb25zID0gUGVybWlzc2lvbnM6OmNyZWF0ZShtX25hdmlnYXRvcik7CisK
KyAgICByZXR1cm4gbV9wZXJtaXNzaW9uczsKK30KKworTmF2aWdhdG9yUGVybWlzc2lvbnMqIE5h
dmlnYXRvclBlcm1pc3Npb25zOjpmcm9tKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIGF1
dG8qIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JQZXJtaXNzaW9ucyo+KFN1cHBs
ZW1lbnQ8TmF2aWdhdG9yPjo6ZnJvbSgmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpKSk7Cisg
ICAgaWYgKCFzdXBwbGVtZW50KSB7CisgICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9IG1ha2VV
bmlxdWU8TmF2aWdhdG9yUGVybWlzc2lvbnM+KG5hdmlnYXRvcik7CisgICAgICAgIHN1cHBsZW1l
bnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOworICAgICAgICBwcm92aWRlVG8oJm5hdmlnYXRvciwg
c3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CisgICAgfQorCisgICAg
cmV0dXJuIHN1cHBsZW1lbnQ7Cit9CisKK2NvbnN0IGNoYXIqIE5hdmlnYXRvclBlcm1pc3Npb25z
OjpzdXBwbGVtZW50TmFtZSgpCit7CisgICAgcmV0dXJuICJOYXZpZ2F0b3JQZXJtaXNzaW9ucyI7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43MGE3MzlkYTcxNDQwYzdhMzNiMjMyY2FlOTgzNTIwMTlmZGE0NDRjCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNz
aW9ucy5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
TmF2aWdhdG9yOworY2xhc3MgUGVybWlzc2lvbnM7CisKK2NsYXNzIE5hdmlnYXRvclBlcm1pc3Np
b25zIGZpbmFsIDogcHVibGljIFN1cHBsZW1lbnQ8TmF2aWdhdG9yPiB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgZXhwbGljaXQgTmF2aWdhdG9yUGVybWlzc2lv
bnMoTmF2aWdhdG9yJik7CisKKyAgICBzdGF0aWMgUmVmUHRyPFBlcm1pc3Npb25zPiBwZXJtaXNz
aW9ucyhOYXZpZ2F0b3ImKTsKKyAgICBSZWZQdHI8UGVybWlzc2lvbnM+IHBlcm1pc3Npb25zKCk7
CisKK3ByaXZhdGU6CisgICAgc3RhdGljIE5hdmlnYXRvclBlcm1pc3Npb25zKiBmcm9tKE5hdmln
YXRvciYpOworICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOworCisgICAg
UmVmUHRyPFBlcm1pc3Npb25zPiBtX3Blcm1pc3Npb25zOworICAgIE5hdmlnYXRvciYgbV9uYXZp
Z2F0b3I7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE3ZDNhYTY0ZWY2
MWUzYjQ1ZTVjOTQ5MWU2ZTkzNTUxMjUzNTMxYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaApAQCAtMCww
ICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJtaXNz
aW9uU3RhdGUuaCIKKyNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KKyNpbmNsdWRl
IDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBQZXJtaXNzaW9uT2JzZXJ2ZXI7CitzdHJ1Y3QgQ2xpZW50T3JpZ2luOworc3RydWN0IFBl
cm1pc3Npb25EZXNjcmlwdG9yOworCitjbGFzcyBQZXJtaXNzaW9uQ29udHJvbGxlciA6IHB1Ymxp
YyBUaHJlYWRTYWZlUmVmQ291bnRlZDxQZXJtaXNzaW9uQ29udHJvbGxlcj4geworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIHZpcnR1YWwgflBlcm1pc3Npb25Db250
cm9sbGVyKCkgPSBkZWZhdWx0OworICAgIHZpcnR1YWwgUGVybWlzc2lvblN0YXRlIHF1ZXJ5KENs
aWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmKSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIHJlcXVlc3QoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlwdG9yJiYsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoUGVybWlzc2lvblN0YXRlKT4mJikgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBhZGRPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIHJlbW92ZU9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpID0gMDsKK307CisKK2NsYXNz
IER1bW15UGVybWlzc2lvbkNvbnRyb2xsZXIgZmluYWwgOiBwdWJsaWMgUGVybWlzc2lvbkNvbnRy
b2xsZXIgeworICAgIFBlcm1pc3Npb25TdGF0ZSBxdWVyeShDbGllbnRPcmlnaW4mJiwgUGVybWlz
c2lvbkRlc2NyaXB0b3ImJikgZmluYWwgeyByZXR1cm4gUGVybWlzc2lvblN0YXRlOjpEZW5pZWQ7
IH0KKyAgICB2b2lkIHJlcXVlc3QoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlwdG9y
JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUGVybWlzc2lvblN0YXRlKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikgZmluYWwgeyBjb21wbGV0aW9uSGFuZGxlcihQZXJtaXNzaW9uU3RhdGU6OkRlbmll
ZCk7IH0KKyAgICB2b2lkIGFkZE9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpIGZpbmFsIHsg
fQorICAgIHZvaWQgcmVtb3ZlT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgZmluYWwgeyB9
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNGU4NGIyZDRjNzdhOThlOTViNjY0OThkYzRkMGIzOGE5MDg5ZTFlNQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2Ny
aXB0b3IuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlICJQZXJtaXNzaW9uTmFtZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVj
dCBQZXJtaXNzaW9uRGVzY3JpcHRvciB7CisgICAgUGVybWlzc2lvbk5hbWUgbmFtZTsKKworICAg
IGJvb2wgb3BlcmF0b3I9PShjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcikg
Y29uc3QgeyByZXR1cm4gbmFtZSA9PSBkZXNjcmlwdG9yLm5hbWU7IH0KKyAgICB0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8UGVybWlzc2lvbkRlc2NyaXB0b3I+
IGRlY29kZShEZWNvZGVyJik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiBpbmxpbmUg
dm9pZCBQZXJtaXNzaW9uRGVzY3JpcHRvcjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0
Cit7CisgICAgZW5jb2RlciA8PCBuYW1lOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBz
dGQ6Om9wdGlvbmFsPFBlcm1pc3Npb25EZXNjcmlwdG9yPiBQZXJtaXNzaW9uRGVzY3JpcHRvcjo6
ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAgUGVybWlzc2lvbkRlc2NyaXB0b3IgcmVz
dWx0OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm5hbWUpKQorICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZjM2YTMyYTJjY2Nk
MzM5OTM5YjdkZTgzNWRmZWRiYmY0ZjU3Y2M4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwKQEAgLTAs
MCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNz
aW9ucy8jZGljdGRlZi1wZXJtaXNzaW9uZGVzY3JpcHRvcgorCitbCisgICAgRW5hYmxlZEJ5U2V0
dGluZz1QZXJtaXNzaW9uc0FQSSwKK10gZGljdGlvbmFyeSBQZXJtaXNzaW9uRGVzY3JpcHRvciB7
CisgICAgcmVxdWlyZWQgUGVybWlzc2lvbk5hbWUgbmFtZTsKK307CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZGQyODNmMTY5NDJjMDVkMjMxYzNhOWZkYmJjZDJhYjdlNGY5ODg5MwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaApA
QCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3
dGYvRW51bVRyYWl0cy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgUGVy
bWlzc2lvbk5hbWUgOiB1aW50OF90IHsKKyAgICBBY2NlbGVyb21ldGVyLAorICAgIEJhY2tncm91
bmRGZXRjaCwKKyAgICBCbHVldG9vdGgsCisgICAgQ2FtZXJhLAorICAgIERpc3BsYXlDYXB0dXJl
LAorICAgIEdlb2xvY2F0aW9uLAorICAgIEd5cm9zY29wZSwKKyAgICBNYWduZXRvbWV0ZXIsCisg
ICAgTWljcm9waG9uZSwKKyAgICBNaWRpLAorICAgIE5mYywKKyAgICBOb3RpZmljYXRpb25zLAor
ICAgIFNwZWFrZXJTZWxlY3Rpb24KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFt
ZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6UGVy
bWlzc2lvbk5hbWU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBX
ZWJDb3JlOjpQZXJtaXNzaW9uTmFtZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6
OkFjY2VsZXJvbWV0ZXIsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpCYWNrZ3Jv
dW5kRmV0Y2gsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpCbHVldG9vdGgsCisg
ICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpDYW1lcmEsCisgICAgICAgIFdlYkNvcmU6
OlBlcm1pc3Npb25OYW1lOjpEaXNwbGF5Q2FwdHVyZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlz
c2lvbk5hbWU6Okdlb2xvY2F0aW9uLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6
R3lyb3Njb3BlLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6TWFnbmV0b21ldGVy
LAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6TWljcm9waG9uZSwKKyAgICAgICAg
V2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Ok1pZGksCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Np
b25OYW1lOjpOZmMsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpOb3RpZmljYXRp
b25zLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6U3BlYWtlclNlbGVjdGlvbgor
ICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTU1
YTcxZjgyOTVlMGQwMTk2NTg2NGZkMTFiMDk5MzA1YWNhYmJmYgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRsCkBA
IC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVy
bWlzc2lvbnMvI2VudW1kZWYtcGVybWlzc2lvbm5hbWUKKworZW51bSBQZXJtaXNzaW9uTmFtZSB7
CisgICAgLy8gRklYTUU6IHVwZGF0ZSB0aGUgbGlzdCB0byBtYXRjaCBzcGVjIHdoZW4gbmV3IGZl
YXR1cmVzIGFyZSBpbXBsZW1lbnRlZC4KKyAgICAiYWNjZWxlcm9tZXRlciIsCisgICAgImJhY2tn
cm91bmQtZmV0Y2giLAorICAgICJibHVldG9vdGgiLAorICAgICJjYW1lcmEiLAorICAgICJkaXNw
bGF5LWNhcHR1cmUiLAorICAgICJnZW9sb2NhdGlvbiIsCisgICAgImd5cm9zY29wZSIsCisgICAg
Im1hZ25ldG9tZXRlciIsCisgICAgIm1pY3JvcGhvbmUiLAorICAgICJtaWRpIiwKKyAgICAibmZj
IiwKKyAgICAibm90aWZpY2F0aW9ucyIsCisgICAgInNwZWFrZXItc2VsZWN0aW9uIgorfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk9i
c2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25P
YnNlcnZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxN2Q2ZGE1OTFkN2Q2NGFiZWFiOGNiY2JhNjNiYzFhMWYy
NWIwYTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25PYnNlcnZlci5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlBlcm1pc3Npb25TdGF0ZS5oIgorI2luY2x1ZGUgPHd0
Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENsaWVudE9yaWdp
bjsKK3N0cnVjdCBQZXJtaXNzaW9uRGVzY3JpcHRvcjsKKworY2xhc3MgUGVybWlzc2lvbk9ic2Vy
dmVyIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFBlcm1pc3Npb25PYnNlcnZlcj4geworcHVibGlj
OgorICAgIHZpcnR1YWwgflBlcm1pc3Npb25PYnNlcnZlcigpID0gZGVmYXVsdDsKKworICAgIHZp
cnR1YWwgdm9pZCBzdGF0ZUNoYW5nZWQoUGVybWlzc2lvblN0YXRlKSA9IDA7CisgICAgdmlydHVh
bCBjb25zdCBDbGllbnRPcmlnaW4mIG9yaWdpbigpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGNv
bnN0IFBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yKCkgY29uc3QgPSAwOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWNhZGY1MjAxZTBjMzdi
MzBmNGI3MmVhMDgwNDA4NTg0Yjg4ODQ4NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmgKQEAgLTAsMCArMSw1MSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIFBlcm1pc3Npb25TdGF0ZSA6
IHVpbnQ4X3QgeworICAgIEdyYW50ZWQsCisgICAgRGVuaWVkLAorICAgIFByb21wdAorfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBz
dHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU+IHsKKyAgICB1c2luZyB2
YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUsCisg
ICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6R3JhbnRlZCwKKyAgICAgICAgV2ViQ29y
ZTo6UGVybWlzc2lvblN0YXRlOjpEZW5pZWQsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25T
dGF0ZTo6UHJvbXB0CisgICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY0ZDJmM2EyYTExNGE3YWRjYzVmYTQ3N2I4MDNmOWFhMGQ5NDcyMjYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25TdGF0ZS5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8v
dzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jZW51bWRlZi1wZXJtaXNzaW9uc3RhdGUKKworZW51
bSBQZXJtaXNzaW9uU3RhdGUgeworICAgICJncmFudGVkIiwKKyAgICAiZGVuaWVkIiwKKyAgICAi
cHJvbXB0IgorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvblN0YXR1cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0dXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4MGU1ZTE5MGZjZDRhZjk3ZThm
YjUxYzQxMWEzZGE2ZjY1OWY0YWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuY3BwCkBAIC0wLDAgKzEsOTQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvblN0
YXR1cy5oIgorCisjaW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xs
ZXIuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChQZXJtaXNzaW9uU3RhdHVzKTsK
KworUmVmPFBlcm1pc3Npb25TdGF0dXM+IFBlcm1pc3Npb25TdGF0dXM6OmNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBQZXJtaXNzaW9uU3RhdGUgc3RhdGUsIGNvbnN0IFBl
cm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQoreworICAgIGF1dG8gc3RhdHVzID0gYWRv
cHRSZWYoKm5ldyBQZXJtaXNzaW9uU3RhdHVzKGNvbnRleHQsIHN0YXRlLCBkZXNjcmlwdG9yKSk7
CisgICAgc3RhdHVzLT5zdXNwZW5kSWZOZWVkZWQoKTsKKyAgICByZXR1cm4gc3RhdHVzOworfQor
CitQZXJtaXNzaW9uU3RhdHVzOjpQZXJtaXNzaW9uU3RhdHVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIFBlcm1pc3Npb25TdGF0ZSBzdGF0ZSwgY29uc3QgUGVybWlzc2lvbkRlc2Ny
aXB0b3ImIGRlc2NyaXB0b3IpCisgICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCisgICAg
LCBtX3N0YXRlKHN0YXRlKQorICAgICwgbV9kZXNjcmlwdG9yKGRlc2NyaXB0b3IpCisgICAgLCBt
X2NvbnRyb2xsZXIoY29udGV4dC5wZXJtaXNzaW9uQ29udHJvbGxlcigpKQoreworICAgIGF1dG8q
IG9yaWdpbiA9IGNvbnRleHQuc2VjdXJpdHlPcmlnaW4oKTsKKyAgICBhdXRvIG9yaWdpbkRhdGEg
PSBvcmlnaW4gPyBvcmlnaW4tPmRhdGEoKSA6IFNlY3VyaXR5T3JpZ2luRGF0YSB7IH07CisgICAg
bV9vcmlnaW4gPSBDbGllbnRPcmlnaW4geyBjb250ZXh0LnRvcE9yaWdpbigpLmRhdGEoKSwgV1RG
TW92ZShvcmlnaW5EYXRhKSB9OworfQorCitQZXJtaXNzaW9uU3RhdHVzOjp+UGVybWlzc2lvblN0
YXR1cygpCit7CisgICAgaWYgKG1fY29udHJvbGxlcikKKyAgICAgICAgbV9jb250cm9sbGVyLT5y
ZW1vdmVPYnNlcnZlcigqdGhpcyk7Cit9CisKK3ZvaWQgUGVybWlzc2lvblN0YXR1czo6c3RhdGVD
aGFuZ2VkKFBlcm1pc3Npb25TdGF0ZSBuZXdTdGF0ZSkKK3sKKyAgICBpZiAobV9zdGF0ZSA9PSBu
ZXdTdGF0ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9zdGF0ZSA9IG5ld1N0YXRlOworICAg
IHF1ZXVlVGFza1RvRGlzcGF0Y2hFdmVudCgqdGhpcywgVGFza1NvdXJjZTo6UGVybWlzc2lvbiwg
RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuY2hhbmdlRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6
Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworfQorCitjb25zdCBjaGFyKiBQZXJtaXNz
aW9uU3RhdHVzOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIlBl
cm1pc3Npb25TdGF0dXMiOworfQorCitib29sIFBlcm1pc3Npb25TdGF0dXM6OnZpcnR1YWxIYXNQ
ZW5kaW5nQWN0aXZpdHkoKSBjb25zdAoreworICAgIGlmICghbV9oYXNDaGFuZ2VFdmVudExpc3Rl
bmVyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpOworICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkpCisgICAg
ICAgIHJldHVybiBkb3duY2FzdDxEb2N1bWVudD4oKmNvbnRleHQpLmhhc0Jyb3dzaW5nQ29udGV4
dCgpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgUGVybWlzc2lvblN0YXR1czo6ZXZl
bnRMaXN0ZW5lcnNEaWRDaGFuZ2UoKQoreworICAgIG1faGFzQ2hhbmdlRXZlbnRMaXN0ZW5lciA9
IGhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzQ1MDA5ZTY0MmQ0ZDU5YzNh
M2U0N2M4Mzc1ODIxNTdiMmUzZmMxZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5oCkBAIC0wLDAgKzEsODIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5o
IgorI2luY2x1ZGUgIkNsaWVudE9yaWdpbi5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisj
aW5jbHVkZSAiUGVybWlzc2lvbkRlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uTmFt
ZS5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25PYnNlcnZlci5oIgorI2luY2x1ZGUgIlBlcm1pc3Np
b25TdGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBlcm1pc3Npb25Db250
cm9sbGVyOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3MgUGVybWlzc2lv
blN0YXR1cyBmaW5hbCA6IHB1YmxpYyBQZXJtaXNzaW9uT2JzZXJ2ZXIsIHB1YmxpYyBBY3RpdmVE
T01PYmplY3QsIHB1YmxpYyBSZWZDb3VudGVkPFBlcm1pc3Npb25TdGF0dXM+LCBwdWJsaWMgRXZl
bnRUYXJnZXRXaXRoSW5saW5lRGF0YSAgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUGVy
bWlzc2lvblN0YXR1cyk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJtaXNzaW9uU3RhdHVz
PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFBlcm1pc3Npb25TdGF0ZSwgY29uc3Qg
UGVybWlzc2lvbkRlc2NyaXB0b3ImKTsKKyAgICB+UGVybWlzc2lvblN0YXR1cygpOworCisgICAg
UGVybWlzc2lvblN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZTsgfQorICAgIFBl
cm1pc3Npb25OYW1lIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX2Rlc2NyaXB0b3IubmFtZTsgfQor
CisgICAgdXNpbmcgUmVmQ291bnRlZDo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVm
OworCisgICAgdXNpbmcgUGVybWlzc2lvbk9ic2VydmVyOjp3ZWFrUHRyRmFjdG9yeTsKKyAgICB1
c2luZyBXZWFrVmFsdWVUeXBlID0gUGVybWlzc2lvbk9ic2VydmVyOjpXZWFrVmFsdWVUeXBlOwor
Citwcml2YXRlOgorICAgIFBlcm1pc3Npb25TdGF0dXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IFBlcm1pc3Npb25TdGF0ZSwgY29uc3QgUGVybWlzc2lvbkRlc2NyaXB0b3ImKTsKKworICAgIC8v
IFBlcm1pc3Npb25PYnNlcnZlcgorICAgIHZvaWQgc3RhdGVDaGFuZ2VkKFBlcm1pc3Npb25TdGF0
ZSkgZmluYWw7CisgICAgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4oKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX29yaWdpbjsgfQorICAgIGNvbnN0IFBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNj
cmlwdG9yKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9kZXNjcmlwdG9yOyB9CisKKyAgICAvLyBB
Y3RpdmVET01PYmplY3QKKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29u
c3QgZmluYWw7CisgICAgYm9vbCB2aXJ0dWFsSGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgZmlu
YWw7CisKKyAgICAvLyBFdmVudFRhcmdldAorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBBY3RpdmVET01PYmpl
Y3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQorICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNl
IGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gUGVybWlzc2lvblN0
YXR1c0V2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQorICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQo
KSBmaW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBk
ZXJlZigpOyB9CisgICAgdm9pZCBldmVudExpc3RlbmVyc0RpZENoYW5nZSgpIGZpbmFsOworCisg
ICAgUGVybWlzc2lvblN0YXRlIG1fc3RhdGU7CisgICAgUGVybWlzc2lvbkRlc2NyaXB0b3IgbV9k
ZXNjcmlwdG9yOworICAgIENsaWVudE9yaWdpbiBtX29yaWdpbjsKKyAgICBSZWZQdHI8UGVybWlz
c2lvbkNvbnRyb2xsZXI+IG1fY29udHJvbGxlcjsKKyAgICBzdGQ6OmF0b21pYzxib29sPiBtX2hh
c0NoYW5nZUV2ZW50TGlzdGVuZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0
dXMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3Rh
dHVzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kYjc4MTQyZTY5OWUyMGU2YmU4NmNjNWNlMjA1NmQxZGViNjky
ZWQwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9u
cy9QZXJtaXNzaW9uU3RhdHVzLmlkbApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKyAKKy8v
IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jcGVybWlzc2lvbnN0YXR1cworCitb
CisgICAgQWN0aXZlRE9NT2JqZWN0LAorICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNB
UEksCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKK10gaW50ZXJmYWNlIFBlcm1pc3Npb25T
dGF0dXMgOiBFdmVudFRhcmdldCB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFBlcm1pc3Npb25T
dGF0ZSBzdGF0ZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgUGVybWlzc2lvbk5hbWUgbmFtZTsK
KyAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uY2hhbmdlOworfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzAxY2EzYjM3NjU5YjMxNmMwN2RlMDZiMDE2ZWExN2Y0YzkwMzYxZQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuY3BwCkBA
IC0wLDAgKzEsOTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiUGVybWlzc2lvbnMuaCIKKworI2luY2x1ZGUgIkV4Y2VwdGlvbi5oIgorI2luY2x1ZGUgIkZy
YW1lLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJKU1Bl
cm1pc3Npb25EZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiSlNQZXJtaXNzaW9uU3RhdHVzLmgiCisj
aW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBlcm1p
c3Npb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkRlc2NyaXB0b3IuaCIKKyNp
bmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChQZXJtaXNzaW9ucyk7CisKK1JlZjxQZXJtaXNz
aW9ucz4gUGVybWlzc2lvbnM6OmNyZWF0ZShOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJtaXNzaW9ucyhuYXZpZ2F0b3IpKTsKK30KKworUGVybWlz
c2lvbnM6OlBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9yKQorICAgIDogbV9uYXZpZ2F0
b3IobWFrZVdlYWtQdHIobmF2aWdhdG9yKSkKK3sKKyAgICBpZiAoYXV0byBjb250ZXh0ID0gbmF2
aWdhdG9yLnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKKyAgICAgICAgbV9jb250cm9sbGVyID0g
Y29udGV4dC0+cGVybWlzc2lvbkNvbnRyb2xsZXIoKTsKK30KKworTmF2aWdhdG9yKiBQZXJtaXNz
aW9uczo6bmF2aWdhdG9yKCkKK3sKKyAgICByZXR1cm4gbV9uYXZpZ2F0b3IuZ2V0KCk7Cit9CisK
K3ZvaWQgUGVybWlzc2lvbnM6OnF1ZXJ5KEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+IHBlcm1p
c3Npb25EZXNjcmlwdG9yVmFsdWUsIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8UGVy
bWlzc2lvblN0YXR1cz4+JiYgcHJvbWlzZSkKK3sKKyAgICAvLyBGSVhNRTogc3VwcG9ydCBwZXJt
aXNzaW9ucyBpbiBXb3JrZXJOYXZpZ2F0b3IuCisgICAgaWYgKCFtX2NvbnRyb2xsZXIpIHsKKyAg
ICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IgfSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIGNvbnRleHQgPSBtX25hdmlnYXRvciA/
IG1fbmF2aWdhdG9yLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgOiBudWxscHRyOworICAgIGlm
ICghY29udGV4dCB8fCAhY29udGV4dC0+Z2xvYmFsT2JqZWN0KCkpIHsKKyAgICAgICAgcHJvbWlz
ZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJUaGUgY29udGV4dCBpcyBp
bnZhbGlkIl9zIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCFwZXJtaXNz
aW9uRGVzY3JpcHRvclZhbHVlKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7
IERhdGFFcnJvciwgIlRoZSBwYXJhbWV0ZXIgaXMgaW52YWxpZCJfcyB9KTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIEpTQzo6Vk0mIHZtID0gY29udGV4dC0+Z2xvYmFsT2JqZWN0KCkt
PnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIGF1
dG8gcGFyYW1ldGVyRGVzY3JpcHRvciA9IGNvbnZlcnQ8SURMRGljdGlvbmFyeTxQZXJtaXNzaW9u
RGVzY3JpcHRvcj4+KCpjb250ZXh0LT5nbG9iYWxPYmplY3QoKSwgcGVybWlzc2lvbkRlc2NyaXB0
b3JWYWx1ZS5nZXQoKSk7CisgICAgaWYgKFVOTElLRUxZKHNjb3BlLmV4Y2VwdGlvbigpKSkgewor
ICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBFeGlzdGluZ0V4Y2VwdGlvbkVycm9y
IH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byogb3JpZ2luID0gY29udGV4
dC0+c2VjdXJpdHlPcmlnaW4oKTsKKyAgICBhdXRvIG9yaWdpbkRhdGEgPSBvcmlnaW4gPyBvcmln
aW4tPmRhdGEoKSA6IFNlY3VyaXR5T3JpZ2luRGF0YSB7IH07CisgICAgYXV0byBwZXJtaXNzaW9u
U3RhdGUgPSBtX2NvbnRyb2xsZXItPnF1ZXJ5KENsaWVudE9yaWdpbiB7IGNvbnRleHQtPnRvcE9y
aWdpbigpLmRhdGEoKSwgb3JpZ2luRGF0YSB9LCBQZXJtaXNzaW9uRGVzY3JpcHRvciB7IHBhcmFt
ZXRlckRlc2NyaXB0b3IgfSk7CisgICAgcHJvbWlzZS5yZXNvbHZlKFBlcm1pc3Npb25TdGF0dXM6
OmNyZWF0ZSgqY29udGV4dCwgcGVybWlzc2lvblN0YXRlLCBwYXJhbWV0ZXJEZXNjcmlwdG9yKSk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjg1NjBkZTA4OTEzNmI0
YzAxOGExYzE4ZWY3NWY2Y2Q1ZDRiNTJhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oCkBAIC0wLDAgKzEsNjAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIklETFR5cGVzLmgiCisjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nLmg+CisjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgor
I2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFjZSBKU0MgeworY2xhc3MgSlNPYmpl
Y3Q7Cit9IC8vIG5hbWVzcGFjZSBKU0MKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBO
YXZpZ2F0b3I7CitjbGFzcyBQZXJtaXNzaW9uQ29udHJvbGxlcjsKK2NsYXNzIFBlcm1pc3Npb25T
dGF0dXM7CisKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZl
cnJlZDsKKworY2xhc3MgUGVybWlzc2lvbnMgOiBwdWJsaWMgUmVmQ291bnRlZDxQZXJtaXNzaW9u
cz4geworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUGVybWlzc2lvbnMpOworcHVibGljOgor
ICAgIHN0YXRpYyBSZWY8UGVybWlzc2lvbnM+IGNyZWF0ZShOYXZpZ2F0b3ImKTsKKworICAgIE5h
dmlnYXRvciogbmF2aWdhdG9yKCk7CisgICAgdm9pZCBxdWVyeShKU0M6OlN0cm9uZzxKU0M6OkpT
T2JqZWN0PiwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQZXJtaXNzaW9uU3RhdHVz
Pj4mJik7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgUGVybWlzc2lvbnMoTmF2aWdhdG9yJik7
CisKKyAgICBXZWFrUHRyPE5hdmlnYXRvcj4gbV9uYXZpZ2F0b3I7CisgICAgUmVmUHRyPFBlcm1p
c3Npb25Db250cm9sbGVyPiBtX2NvbnRyb2xsZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bnMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM2OGFhNjEyYTUwN2IzODA1NDBhNjcwYmU2NDVhYjY2ZWY0Mzgx
ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25zLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNwZXJtaXNzaW9ucy1pbnRlcmZhY2UKKworWwor
ICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCisgICAgR2VuZXJhdGVJc1JlYWNo
YWJsZT1SZWFjaGFibGVGcm9tTmF2aWdhdG9yLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFi
bGUsCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKK10gaW50ZXJmYWNlIFBlcm1pc3Npb25z
IHsKKyAgICBQcm9taXNlPFBlcm1pc3Npb25TdGF0dXM+IHF1ZXJ5KG9iamVjdCBwZXJtaXNzaW9u
RGVzYyk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA2ZDU5ZGMzZmQ4Nzg0YWMzNTc2MGFkZGY1ZDky
MDU4ZDI1ODRkMDdiLi44OTEwNTQ5NzMxOWE2YjA0ZTE4ZmU1MmU0NTFlZDRlZTlhNGYxNTI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dApAQCAtMjAzLDYgKzIwMyw5IEBAIE1vZHVsZXMvcGF5bWVudHJlcXVlc3Qv
UGF5bWVudFJlcXVlc3QuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0
VXBkYXRlRXZlbnQuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXRp
bGl0aWVzLmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuY3BwCitN
b2R1bGVzL3Blcm1pc3Npb25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcAorTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmNwcAorTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9ucy5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudFBpY3R1cmVJblBpY3R1
cmUuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZl
bnQuY3BwCiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvSFRNTFZpZGVvRWxlbWVudFBpY3R1cmVJ
blBpY3R1cmUuY3BwCkBAIC0zMjcyLDYgKzMyNzUsMTEgQEAgSlNQZXJmb3JtYW5jZVRpbWluZy5j
cHAKIEpTUGVyaW9kaWNXYXZlLmNwcAogSlNQZXJpb2RpY1dhdmVDb25zdHJhaW50cy5jcHAKIEpT
UGVyaW9kaWNXYXZlT3B0aW9ucy5jcHAKK0pTUGVybWlzc2lvbkRlc2NyaXB0b3IuY3BwCitKU1Bl
cm1pc3Npb25OYW1lLmNwcAorSlNQZXJtaXNzaW9uU3RhdGUuY3BwCitKU1Blcm1pc3Npb25TdGF0
dXMuY3BwCitKU1Blcm1pc3Npb25zLmNwcAogSlNQaWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcAog
SlNQbGF5YmFja0RpcmVjdGlvbi5jcHAKIEpTUG9pbnRlckV2ZW50LmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQwYWEwZThk
MmI5YjkxMDczYjk4M2E2OGNmNTlmN2U2NmEyYTUzNzUuLjM2YWRlZWQ0OWQxMGY4N2E2MTgxZDgz
MjgzZWI4NzY0ODQ4YWRkZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI4ODAsNiArMjg4MCwxNCBAQAogCQk5M0E4MDYxNzFF
MDNCNTFDMDA4QTFGMjYgLyogTG9uZ1JhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4MDYxMzFFMDNCNTFDMDA4QTFGMjYgLyogTG9uZ1Jhbmdl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNB
ODA2MUUxRTAzQjU4NTAwOEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTgwNjFBMUUwM0I1ODUwMDhBMUYyNiAv
KiBKU0RvdWJsZVJhbmdlLmggKi87IH07CiAJCTkzQTgwNjIwMUUwM0I1ODUwMDhBMUYyNiAvKiBK
U0xvbmdSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTNBODA2MUMxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9uZ1JhbmdlLmggKi87IH07CisJCTkz
QjBBNjUzMjZDREQxNDEwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NEEyNkNERDEzRTAw
QUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggKi87IH07CisJCTkzQjBBNjU0MjZDREQx
NDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NEIyNkNERDEzRTAwQUEyMUU0IC8qIFBlcm1pc3Npb25z
LmggKi87IH07CisJCTkzQjBBNjU2MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY0
RDI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1cy5oICovOyB9OworCQk5M0IwQTY1
NzI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjRFMjZDREQxM0YwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTkzQjBBNjU5MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNz
aW9uTmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTNCMEE2NTAyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNCMEE2NUIyNkNERDE0MTAw
QUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NTIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25T
dGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTkzQjBBNjcwMjZENEI1MzkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NjkyNkQ0NEI3
RjAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNCMEE2N0EyNkQ2QTRFOTAwQUEyMUU0IC8q
IFBlcm1pc3Npb25PYnNlcnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTNCMEE2NkYyNkQ0QjUyOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkz
QjJEODE2MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMkQ4MTUwRjk5MjBEMjAwNkFF
NkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNCMzhFQzMyNTgyMURCNDAwMTk4RTYzIC8qIFdlYlNwZWVj
aFJlY29nbml6ZXJUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5M0IzOEVCQTI1ODIxOTNCMDAxOThFNjMgLyogV2ViU3BlZWNoUmVjb2duaXplclRh
c2suaCAqLzsgfTsKIAkJOTNCMzhFQzQyNTgyMURCNzAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29n
bml6ZXJUYXNrTW9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNCMzhFQkIyNTgyMTkzRDAwMTk4RTYzIC8qIFdlYlNwZWVjaFJlY29nbml6ZXJUYXNr
TW9jay5oICovOyB9OwpAQCAtMTE3MDEsNiArMTE3MDksMjMgQEAKIAkJOTNBODA2MUExRTAzQjU4
NTAwOEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNEb3VibGVSYW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0E4
MDYxQjFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNMb25nUmFuZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5M0E4MDYxQzFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNMb25nUmFuZ2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDQyNkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25T
dGF0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvblN0YXRlLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDUyNkNEQzVCNjAwQUEyMUU0IC8qIFBl
cm1pc3Npb25EZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9u
RGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ2MjZD
REM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gUGVybWlzc2lvbk5hbWUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0Iw
QTY0NzI2Q0RDNUI3MDBBQTIxRTQgLyogTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSAiTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbCI7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ4MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvbnMuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0OTI2Q0RDNUI4MDBBQTIxRTQgLyogUGVybWlzc2lv
blN0YXR1cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVybWlzc2lvblN0YXR1cy5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjRBMjZDREQxM0UwMEFBMjFFNCAv
KiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
M0IwQTY0QjI2Q0REMTNFMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTNCMEE2NEMyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5hdmlnYXRvclBlcm1pc3Np
b25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEQyNkNERDEzRjAw
QUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUGVybWlzc2lvblN0YXR1cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
M0IwQTY0RTI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvbkRlc2NyaXB0b3IuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbkRlc2NyaXB0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEYyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1p
c3Npb25TdGF0dXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVy
bWlzc2lvblN0YXR1cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjUw
MjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uTmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk5M0IwQTY1MTI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVybWlzc2lvbnMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY1MjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lv
blN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25TdGF0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY2OTI2RDQ0QjdGMDBBQTIx
RTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvbkNv
bnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NkYyNkQ0QjUy
OTAwQUEyMUU0IC8qIFBlcm1pc3Npb25PYnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNz
aW9uT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMkQ4MTUwRjk5
MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFN1ZGRlblRlcm1pbmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkzQjJEODE3MEY5OTIwRUUwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN1ZGRlblRlcm1pbmF0aW9u
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IzOEVCODI1ODIxODk5MDAxOThF
NjMgLyogU3BlZWNoUmVjb2duaXplckNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gU3BlZWNoUmVjb2duaXplckNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMjMxODUsNiArMjMyMTAsMzAgQEAKIAkJCXBhdGggPSBtYWM7CiAJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk5M0IwQTY0MjI2Q0RDNTc0MDBBQTIxRTQg
LyogcGVybWlzc2lvbnMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0g
KAorCQkJCTkzQjBBNjQ3MjZDREM1QjcwMEFBMjFFNCAvKiBOYXZpZ2F0b3IrUGVybWlzc2lvbnMu
aWRsICovLAorCQkJCTkzQjBBNjRDMjZDREQxM0UwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNz
aW9ucy5jcHAgKi8sCisJCQkJOTNCMEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBl
cm1pc3Npb25zLmggKi8sCisJCQkJOTNCMEE2NjkyNkQ0NEI3RjAwQUEyMUU0IC8qIFBlcm1pc3Np
b25Db250cm9sbGVyLmggKi8sCisJCQkJOTNCMEE2NEUyNkNERDEzRjAwQUEyMUU0IC8qIFBlcm1p
c3Npb25EZXNjcmlwdG9yLmggKi8sCisJCQkJOTNCMEE2NDUyNkNEQzVCNjAwQUEyMUU0IC8qIFBl
cm1pc3Npb25EZXNjcmlwdG9yLmlkbCAqLywKKwkJCQk5M0IwQTY1MDI2Q0REMTQwMDBBQTIxRTQg
LyogUGVybWlzc2lvbk5hbWUuaCAqLywKKwkJCQk5M0IwQTY0NjI2Q0RDNUI3MDBBQTIxRTQgLyog
UGVybWlzc2lvbk5hbWUuaWRsICovLAorCQkJCTkzQjBBNjZGMjZENEI1MjkwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9uT2JzZXJ2ZXIuaCAqLywKKwkJCQk5M0IwQTY1MTI2Q0REMTQwMDBBQTIxRTQgLyog
UGVybWlzc2lvbnMuY3BwICovLAorCQkJCTkzQjBBNjRCMjZDREQxM0UwMEFBMjFFNCAvKiBQZXJt
aXNzaW9ucy5oICovLAorCQkJCTkzQjBBNjQ4MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJtaXNzaW9u
cy5pZGwgKi8sCisJCQkJOTNCMEE2NTIyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0
ZS5oICovLAorCQkJCTkzQjBBNjQ0MjZDREM1QjYwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUu
aWRsICovLAorCQkJCTkzQjBBNjRGMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVz
LmNwcCAqLywKKwkJCQk5M0IwQTY0RDI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXR1
cy5oICovLAorCQkJCTkzQjBBNjQ5MjZDREM1QjgwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVz
LmlkbCAqLywKKwkJCSk7CisJCQlwYXRoID0gcGVybWlzc2lvbnM7CisJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOworCQl9OwogCQk5M0IzOEVCNjI1ODIxODMzMDAxOThFNjMgLyogY29jb2EgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMjM3OTAsNiArMjM4
MzksNyBAQAogCQkJCTcxRDZBQTM5MURBNEVBRjcwMEIyMzk2OSAvKiBtb2Rlcm4tbWVkaWEtY29u
dHJvbHMgKi8sCiAJCQkJMzMzRjcwM0QwRkI0OUMxNjAwOEUxMkE2IC8qIG5vdGlmaWNhdGlvbnMg
Ki8sCiAJCQkJQTFGNzZCMEUxRjQ0QzBDRjAwMTRDMzE4IC8qIHBheW1lbnRyZXF1ZXN0ICovLAor
CQkJCTkzQjBBNjQyMjZDREM1NzQwMEFBMjFFNCAvKiBwZXJtaXNzaW9ucyAqLywKIAkJCQkxREVG
MDZBMjIzM0MzMkRCMDBFRTIyOEQgLyogcGljdHVyZWlucGljdHVyZSAqLywKIAkJCQkwNzJBRTFE
RTE4M0MwNTEzMDAwQTU5ODggLyogcGx1Z2lucyAqLywKIAkJCQlDREMzMTJFMDIyRkNEMEIwMDAx
MjA0RUMgLyogcmVtb3RlcGxheWJhY2sgKi8sCkBAIC0zMzc1Nyw2ICszMzgwNyw3IEBACiAJCQkJ
NkI1MDdBMjQyMzRCRjM0MTAwQkU3QzYyIC8qIE5hdmlnYXRvcklzTG9nZ2VkSW4uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTVFQTcyNUQ2MUFDQUJENTcwMEVBRDE3QiAvKiBOYXZpZ2F0b3JNZWRpYURl
dmljZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3N0JBNTcyMjYwRkEwMTQwMDcyRjE5RiAvKiBO
YXZpZ2F0b3JNZWRpYVNlc3Npb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjUzMjZDREQx
NDEwMEFBMjFFNCAvKiBOYXZpZ2F0b3JQZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTk2RTU5REYxREYwMTI4RDAwNjYxMkI5IC8qIE5hdmlnYXRvcldlYkRyaXZlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTFFRThCNzgyNDEzMTkxRjAwRTc5NEQ2IC8qIE5hdmlnYXRvcldlYlhSLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk4QTMwOUM5RjEyMzk1MEJFMDBDQjkyMDQgLyogTmVzdGluZ0xl
dmVsSW5jcmVtZW50ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzM5NTYsNiArMzQwMDcsMTMgQEAK
IAkJCQlGRDU4MUZCNTE1MjBGOTNCMDAzQTdBNzUgLyogUGVyaW9kaWNXYXZlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFNzU1RTg5MjI0Qzc0MzRCMDA5RjdDMjMgLyogUGVyaW9kaWNXYXZlQ29uc3Ry
YWludHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUU3NTVFODk5MjRDNzQ2MUQwMDlGN0MyMyAvKiBQ
ZXJpb2RpY1dhdmVPcHRpb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY3MDI2RDRCNTM5
MDBBQTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTkz
QjBBNjU3MjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJOTNCMEE2NTkyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY3QTI2RDZBNEU5MDBBQTIxRTQgLyogUGVybWlzc2lv
bk9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY1NDI2Q0REMTQxMDBBQTIxRTQg
LyogUGVybWlzc2lvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjVCMjZDREQxNDEwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjU2MjZD
REQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
OUQ1REMyRTBGNDIzQTczMDA4RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24u
aCBpbiBIZWFkZXJzICovLAogCQkJCTFEQkMxQjU2MjM0N0IzRDIwMEI5MDFBRiAvKiBQaWN0dXJl
SW5QaWN0dXJlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFEMkM4MkI3MjM2QTNGNkEw
MDU1RDZDNSAvKiBQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXgg
ZjE4MWM3OTZkNjUwY2M4NmZlM2YwOGE3MjAwN2E2ZWRjMmVmYmM3OC4uODUxYTIxNGM5YTQ4N2Zm
NjhkMTZiZTdkZDhmYmI1MjA4ODdlYjkxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMTU0LDYgKzE1NCw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBtYWNybyhNb2NrUlRDUnRwVHJhbnNmb3JtKSBcCiAgICAgbWFjcm8o
TmF2aWdhdG9yQ3JlZGVudGlhbHMpIFwKICAgICBtYWNybyhOYXZpZ2F0b3JNZWRpYURldmljZXMp
IFwKKyAgICBtYWNybyhOYXZpZ2F0b3JQZXJtaXNzaW9ucykgXAogICAgIG1hY3JvKE5hdmlnYXRv
clVzZXJNZWRpYSkgXAogICAgIG1hY3JvKE9mZmxpbmVBdWRpb0NvbnRleHQpIFwKICAgICBtYWNy
byhPZmZzY3JlZW5DYW52YXMpIFwKQEAgLTE4Miw2ICsxODMsOSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgbWFjcm8oUGVyZm9ybWFuY2VQYWludFRpbWluZykgXAogICAgIG1hY3JvKFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZVNlcnZlclRpbWlu
ZykgXAorICAgIG1hY3JvKFBlcm1pc3Npb25EZXNjcmlwdG9yKSBcCisgICAgbWFjcm8oUGVybWlz
c2lvblN0YXR1cykgXAorICAgIG1hY3JvKFBlcm1pc3Npb25zKSBcCiAgICAgbWFjcm8oUG9pbnRl
ckV2ZW50KSBcCiAgICAgbWFjcm8oUHVibGljS2V5Q3JlZGVudGlhbCkgXAogICAgIG1hY3JvKFJl
c2l6ZU9ic2VydmVyKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA2NWNmYmY4Yjc5NWQ2
M2QzYzk5OWQwMWQ5YjM4NGIyMDUwMDlkNDY0Li40NTQxNTZhYzllZmE3NTIyMjVjY2IxYTljNGRm
MzZkMWI3NWQzOThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTM1NTQsNiArMzU1NCwx
MSBAQCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogRG9jdW1lbnQ6OmlkYkNvbm5lY3Rp
b25Qcm94eSgpCiAgICAgcmV0dXJuIG1faWRiQ29ubmVjdGlvblByb3h5LmdldCgpOwogfQogCitS
ZWZQdHI8UGVybWlzc2lvbkNvbnRyb2xsZXI+IERvY3VtZW50OjpwZXJtaXNzaW9uQ29udHJvbGxl
cigpCit7CisgICAgcmV0dXJuIHBhZ2UoKSA/ICZwYWdlKCktPnBlcm1pc3Npb25Db250cm9sbGVy
KCkgOiBudWxscHRyOworfQorCiBTb2NrZXRQcm92aWRlciogRG9jdW1lbnQ6OnNvY2tldFByb3Zp
ZGVyKCkKIHsKICAgICByZXR1cm4gbV9zb2NrZXRQcm92aWRlci5nZXQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKaW5kZXggNGMyOTVkNDU4ZjFhZTA2MTc5YTU0NmI5NGRiMzgwNzcyNjU0YzFjNS4uM2Q0
NjViM2M0OGIyMTIyOGU2ZGFhMThhNzkyZDJkMzM0ZjhlMTkwMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKQEAgLTcwMSw2ICs3MDEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaXNhYmxlV2ViQXNzZW1i
bHkoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpIGZpbmFsOwogCiAgICAgSURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHkqIGlkYkNvbm5lY3Rpb25Qcm94eSgpIGZpbmFsOworICAgIFJlZlB0
cjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gcGVybWlzc2lvbkNvbnRyb2xsZXIoKSBmaW5hbDsKICAg
ICBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIoKSBmaW5hbDsKICAgICBSZWZQdHI8UlRD
RGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbj4gY3JlYXRlUlRDRGF0YUNoYW5uZWxS
ZW1vdGVIYW5kbGVyQ29ubmVjdGlvbigpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
VGFyZ2V0RmFjdG9yeS5pbgppbmRleCA1ZTU4ZjExMTY2N2VmNjIxMGQ1MzExMGQ3YjU0YTgwMmM4
NDM5NWQ4Li4wMTNjZWQwOTQ2ZmZjZDUyNTlmYTI1MGIxNjAzYTE4ZTQ1OWU0NTk5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTM1LDYgKzM1LDcgQEAgT2Zm
c2NyZWVuQ2FudmFzIGNvbmRpdGlvbmFsPU9GRlNDUkVFTl9DQU5WQVMKIFBheW1lbnRSZXF1ZXN0
IGNvbmRpdGlvbmFsPVBBWU1FTlRfUkVRVUVTVAogUGF5bWVudFJlc3BvbnNlIGNvbmRpdGlvbmFs
PVBBWU1FTlRfUkVRVUVTVAogUGVyZm9ybWFuY2UKK1Blcm1pc3Npb25TdGF0dXMKIFBpY3R1cmVJ
blBpY3R1cmVXaW5kb3cgY29uZGl0aW9uYWw9UElDVFVSRV9JTl9QSUNUVVJFX0FQSQogUmVtb3Rl
UGxheWJhY2sgY29uZGl0aW9uYWw9V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUCiBSVENEYXRhQ2hh
bm5lbCBjb25kaXRpb25hbD1XRUJfUlRDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaAppbmRleCBkNGJiOGUxOWFlNzhmN2U4MWE2Y2I2MWZiNmU1NTIzYzEwNGM0
ZGRlLi4xZWNiYzEzNzliOWE1YTY4NzY4NTYyZGU4MDZhNjNiNmQ1ZmMwMWQxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTI5LDYgKzI5LDcgQEAK
IAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkRPTVRpbWVyLmgiCisj
aW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJSVENEYXRhQ2hhbm5l
bFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJPcHRp
b25zLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIuaCIKQEAg
LTExNSw2ICsxMTYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpc2FibGVXZWJBc3Nl
bWJseShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkgPSAwOwogCiAgICAgdmlydHVhbCBJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogaWRiQ29ubmVjdGlvblByb3h5KCkgPSAwOworICAg
IHZpcnR1YWwgUmVmUHRyPFBlcm1pc3Npb25Db250cm9sbGVyPiBwZXJtaXNzaW9uQ29udHJvbGxl
cigpIHsgcmV0dXJuIG51bGxwdHI7IH0KIAogICAgIHZpcnR1YWwgU29ja2V0UHJvdmlkZXIqIHNv
Y2tldFByb3ZpZGVyKCkgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGFz
a1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaAppbmRleCA3MTMzZjY3
OGVhMmQ5OTI2OTUxNjAyMDg2NGVmMTNkNGYzZWZkMzk4Li4yZGE0N2JhZDZjNzNhNmJhNWJmMjgz
YjhkMzUyZjQwZDIxYWYwMTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGFza1Nv
dXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UYXNrU291cmNlLmgKQEAgLTM5LDYgKzM5
LDcgQEAgZW51bSBjbGFzcyBUYXNrU291cmNlIDogdWludDhfdCB7CiAgICAgTWljcm90YXNrLAog
ICAgIE5ldHdvcmtpbmcsCiAgICAgUGVyZm9ybWFuY2VUaW1lbGluZSwKKyAgICBQZXJtaXNzaW9u
LAogICAgIFBvc3RlZE1lc3NhZ2VRdWV1ZSwKICAgICBTcGVlY2gsCiAgICAgVXNlckludGVyYWN0
aW9uLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCA5NjRlMmRkMTIw
NzAzMzFhNjVjYTM0MWFjNzBlNGIyODc0MjAwYTBkLi41NWNjNDZlMjU5MTg0NjlmMzFkNTZjMDQ5
NmU0M2RkNTVlY2ZkNWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApA
QCAtNjMsNiArNjMsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlQ29uZmln
dXJhdGlvbi5oIgogI2luY2x1ZGUgIlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oIgorI2luY2x1
ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGx1Z2luSW5mb1Byb3ZpZGVy
LmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2VjdXJp
dHlPcmlnaW5EYXRhLmgiCkBAIC0xMTkzLDcgKzExOTQsOCBAQCBQYWdlQ29uZmlndXJhdGlvbiBw
YWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklE
KQogICAgICAgICBtYWtlVW5pcXVlUmVmPEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ+KCksCiAgICAg
ICAgIG1ha2VVbmlxdWVSZWY8RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigpLAogICAg
ICAgICBtYWtlVW5pcXVlUmVmPEVtcHR5TWVkaWFSZWNvcmRlclByb3ZpZGVyPigpLAotICAgICAg
ICBFbXB0eUJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Y3JlYXRlKCkKKyAgICAgICAgRW1wdHlC
cm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmNyZWF0ZSgpLAorICAgICAgICBtYWtlVW5pcXVlUmVm
PER1bW15UGVybWlzc2lvbkNvbnRyb2xsZXI+KCkKICAgICB9OwogCiAgICAgc3RhdGljIE5ldmVy
RGVzdHJveWVkPEVtcHR5Q2hyb21lQ2xpZW50PiBkdW1teUNocm9tZUNsaWVudDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuY3BwCmluZGV4IGVlZTY4Yjc3ZTFlNWZjZTFlNTljMzI5NDM0YTlhODYwMGIzNjk3MTAuLjg2
MTA3OGJhMGJmNjE4M2I3NzExNDVhNzRiNDFiZTA3ZDdiMDU2MmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cApAQCAtOTksNiArOTksNyBAQAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTG9nZ2luZy5oIgogI2lu
Y2x1ZGUgIlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNl
TW9uaXRvci5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TY3JlZW4u
aCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKQEAgLTMyNSw2ICszMjYsNyBAQCBQ
YWdlOjpQYWdlKFBhZ2VDb25maWd1cmF0aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAgICAgLCBt
X2xvYWRzU3VicmVzb3VyY2VzKHBhZ2VDb25maWd1cmF0aW9uLmxvYWRzU3VicmVzb3VyY2VzKQog
ICAgICwgbV9zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZyhwYWdlQ29uZmlndXJh
dGlvbi5zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZykKICAgICAsIG1faHR0cHNV
cGdyYWRlRW5hYmxlZChwYWdlQ29uZmlndXJhdGlvbi5odHRwc1VwZ3JhZGVFbmFibGVkKQorICAg
ICwgbV9wZXJtaXNzaW9uQ29udHJvbGxlcihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnBlcm1p
c3Npb25Db250cm9sbGVyKSkKIHsKICAgICB1cGRhdGVUaW1lclRocm90dGxpbmdTdGF0ZSgpOwog
CkBAIC0zNjkzLDQgKzM2OTUsOSBAQCB2b2lkIFBhZ2U6OnJlc2V0VGV4dFJlY29nbml0aW9uUmVz
dWx0cygpCiAKICNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKK1Blcm1pc3Npb25D
b250cm9sbGVyJiBQYWdlOjpwZXJtaXNzaW9uQ29udHJvbGxlcigpCit7CisgICAgcmV0dXJuIG1f
cGVybWlzc2lvbkNvbnRyb2xsZXIuZ2V0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmgKaW5kZXggOTI1NWJmMzEzYzY3ZDcxNDgxNWNmNzgxNTI2NmZmZDgwNWIyMmY2
MC4uM2IxZTI2OTA1NTZkZDRmM2QxN2E4ZWI4NWYyNGQwMDQwODg3NDM3NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmgKQEAgLTEzMSw2ICsxMzEsNyBAQCBjbGFzcyBQYXltZW50Q29vcmRpbmF0b3I7CiBjbGFzcyBQ
ZXJmb3JtYW5jZUxvZ2dpbmc7CiBjbGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQ7CiBjbGFz
cyBQZXJmb3JtYW5jZU1vbml0b3I7CitjbGFzcyBQZXJtaXNzaW9uQ29udHJvbGxlcjsKIGNsYXNz
IFBsdWdpbkRhdGE7CiBjbGFzcyBQbHVnaW5JbmZvUHJvdmlkZXI7CiBjbGFzcyBQbHVnaW5WaWV3
QmFzZTsKQEAgLTg3Miw2ICs4NzMsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjYWNoZVRleHRSZWNv
Z25pdGlvblJlc3VsdChjb25zdCBIVE1MRWxlbWVudCYsIGNvbnN0IEludFJlY3QmIGNvbnRhaW5l
clJlY3QsIGNvbnN0IFRleHRSZWNvZ25pdGlvblJlc3VsdCYpOwogI2VuZGlmCiAKKyAgICBXRUJD
T1JFX0VYUE9SVCBQZXJtaXNzaW9uQ29udHJvbGxlciYgcGVybWlzc2lvbkNvbnRyb2xsZXIoKTsK
KwogcHJpdmF0ZToKICAgICBzdHJ1Y3QgTmF2aWdhdGlvbiB7CiAgICAgICAgIFJlZ2lzdHJhYmxl
RG9tYWluIGRvbWFpbjsKQEAgLTExOTQsNiArMTE5Nyw4IEBAIHByaXZhdGU6CiAgICAgY29uc3Qg
Ym9vbCBtX2h0dHBzVXBncmFkZUVuYWJsZWQgeyB0cnVlIH07CiAgICAgbXV0YWJsZSBNZWRpYVNl
c3Npb25Hcm91cElkZW50aWZpZXIgbV9tZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXI7CiAKKyAg
ICBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+IG1fcGVybWlzc2lvbkNvbnRyb2xsZXI7
CisKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAgICAgLy8gRklYTUU6IFRoZXNlIHNob3Vs
ZCBiZSByZWZhY3RvcmVkIHRvIHVzZSBhIHdlYWsgaGFzaCBtYXAgb2YgSFRNTEVsZW1lbnQgdG8g
c3RkOjpwYWlyPFRleHRSZWNvZ25pdGlvblJlc3VsdCwgSW50U2l6ZT4uCiAgICAgVmVjdG9yPHN0
ZDo6cGFpcjxXZWFrUHRyPEhUTUxFbGVtZW50Piwgc3RkOjpwYWlyPFRleHRSZWNvZ25pdGlvblJl
c3VsdCwgSW50UmVjdD4+PiBtX3RleHRSZWNvZ25pdGlvblJlc3VsdHNCeUVsZW1lbnQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDY3NWUzNjljYzFlMmMy
Yjc3ZDk5ZmRkMDkxMzRiMTk4ZjBjZjNhZjMuLmNiNTYwZmQ0MTRhMjNhNzZiMmNjN2I2MGVhNTAy
OTk5YTk4MWNjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3Vy
YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3Bw
CkBAIC01OSw3ICs1OSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFnZUNvbmZpZ3Vy
YXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgVW5pcXVl
UmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiBz
b2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmIGxpYldlYlJUQ1By
b3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYgY2FjaGVTdG9yYWdlUHJvdmlkZXIs
IFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmIHVzZXJDb250ZW50UHJvdmlkZXIsIFJlZjxCYWNr
Rm9yd2FyZENsaWVudD4mJiBiYWNrRm9yd2FyZENsaWVudCwgUmVmPENvb2tpZUphcj4mJiBjb29r
aWVKYXIsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYgcHJvZ3Jlc3NUcmFja2Vy
Q2xpZW50LCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+JiYgbG9hZGVyQ2xpZW50Rm9yTWFp
bkZyYW1lLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4mJiBzcGVlY2hSZWNv
Z25pdGlvblByb3ZpZGVyLCBVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPiYmIG1lZGlh
UmVjb3JkZXJQcm92aWRlciwgUmVmPEJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4mJiBicm9hZGNh
c3RDaGFubmVsUmVnaXN0cnkpCitQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24o
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRv
ckNsaWVudCwgUmVmPFNvY2tldFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyLCBVbmlxdWVSZWY8
TGliV2ViUlRDUHJvdmlkZXI+JiYgbGliV2ViUlRDUHJvdmlkZXIsIFJlZjxDYWNoZVN0b3JhZ2VQ
cm92aWRlcj4mJiBjYWNoZVN0b3JhZ2VQcm92aWRlciwgUmVmPFVzZXJDb250ZW50UHJvdmlkZXI+
JiYgdXNlckNvbnRlbnRQcm92aWRlciwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmIGJhY2tGb3J3
YXJkQ2xpZW50LCBSZWY8Q29va2llSmFyPiYmIGNvb2tpZUphciwgVW5pcXVlUmVmPFByb2dyZXNz
VHJhY2tlckNsaWVudD4mJiBwcm9ncmVzc1RyYWNrZXJDbGllbnQsIFVuaXF1ZVJlZjxGcmFtZUxv
YWRlckNsaWVudD4mJiBsb2FkZXJDbGllbnRGb3JNYWluRnJhbWUsIFVuaXF1ZVJlZjxTcGVlY2hS
ZWNvZ25pdGlvblByb3ZpZGVyPiYmIHNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXIsIFVuaXF1ZVJl
ZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYgbWVkaWFSZWNvcmRlclByb3ZpZGVyLCBSZWY8QnJv
YWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmIGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSwgVW5pcXVl
UmVmPFBlcm1pc3Npb25Db250cm9sbGVyPiYmIHBlcm1pc3Npb25Db250cm9sbGVyKQogICAgIDog
c2Vzc2lvbklEKHNlc3Npb25JRCkKICAgICAsIGVkaXRvckNsaWVudChXVEZNb3ZlKGVkaXRvckNs
aWVudCkpCiAgICAgLCBzb2NrZXRQcm92aWRlcihXVEZNb3ZlKHNvY2tldFByb3ZpZGVyKSkKQEAg
LTczLDYgKzczLDcgQEAgUGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckMKICAgICAsIGJyb2FkY2FzdENo
YW5uZWxSZWdpc3RyeShXVEZNb3ZlKGJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSkpCiAgICAgLCBz
cGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyKFdURk1vdmUoc3BlZWNoUmVjb2duaXRpb25Qcm92aWRl
cikpCiAgICAgLCBtZWRpYVJlY29yZGVyUHJvdmlkZXIoV1RGTW92ZShtZWRpYVJlY29yZGVyUHJv
dmlkZXIpKQorICAgICwgcGVybWlzc2lvbkNvbnRyb2xsZXIoV1RGTW92ZShwZXJtaXNzaW9uQ29u
dHJvbGxlcikpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaApp
bmRleCAwZjI1OWQ1NmQzYTE0MmExNGUwZWM4NTE0ZTBmZDViMmZkMjkzMGE1Li5kNzViNzEwNGMz
NTAzOTFmNThhOTY4ZmFlMmU2ZTAzNTQ2MTE2YWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
Q29uZmlndXJhdGlvbi5oCkBAIC01OSw2ICs1OSw3IEBAIGNsYXNzIExpYldlYlJUQ1Byb3ZpZGVy
OwogY2xhc3MgTWVkaWFSZWNvcmRlclByb3ZpZGVyOwogY2xhc3MgUGF5bWVudENvb3JkaW5hdG9y
Q2xpZW50OwogY2xhc3MgUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50OworY2xhc3MgUGVybWlzc2lv
bkNvbnRyb2xsZXI7CiBjbGFzcyBQbHVnaW5JbmZvUHJvdmlkZXI7CiBjbGFzcyBQcm9ncmVzc1Ry
YWNrZXJDbGllbnQ7CiBjbGFzcyBTb2NrZXRQcm92aWRlcjsKQEAgLTc0LDcgKzc1LDcgQEAgY2xh
c3MgU3BlZWNoU3ludGhlc2lzQ2xpZW50OwogY2xhc3MgUGFnZUNvbmZpZ3VyYXRpb24gewogICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDb25maWd1cmF0aW9uKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24o
UEFMOjpTZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYsIFJlZjxTb2NrZXRQcm92
aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmLCBSZWY8Q2FjaGVTdG9yYWdl
UHJvdmlkZXI+JiYsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmLCBSZWY8QmFja0ZvcndhcmRD
bGllbnQ+JiYsIFJlZjxDb29raWVKYXI+JiYsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGll
bnQ+JiYsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNsaWVudD4mJiwgVW5pcXVlUmVmPFNwZWVjaFJl
Y29nbml0aW9uUHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYs
IFJlZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIFBh
Z2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYm
LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiwg
UmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmLCBSZWY8VXNlckNvbnRlbnRQcm92aWRlcj4mJiwg
UmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmLCBSZWY8Q29va2llSmFyPiYmLCBVbmlxdWVSZWY8UHJv
Z3Jlc3NUcmFja2VyQ2xpZW50PiYmLCBVbmlxdWVSZWY8RnJhbWVMb2FkZXJDbGllbnQ+JiYsIFVu
aXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TWVkaWFSZWNv
cmRlclByb3ZpZGVyPiYmLCBSZWY8QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmLCBVbmlxdWVS
ZWY8UGVybWlzc2lvbkNvbnRyb2xsZXI+JiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5QYWdlQ29u
ZmlndXJhdGlvbigpOwogICAgIFBhZ2VDb25maWd1cmF0aW9uKFBhZ2VDb25maWd1cmF0aW9uJiYp
OwogCkBAIC0xMzgsNiArMTM5LDggQEAgcHVibGljOgogICAgIGJvb2wgdXNlclNjcmlwdHNTaG91
bGRXYWl0VW50aWxOb3RpZmljYXRpb24geyB0cnVlIH07CiAgICAgU2hvdWxkUmVsYXhUaGlyZFBh
cnR5Q29va2llQmxvY2tpbmcgc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcgeyBT
aG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZzo6Tm8gfTsKICAgICBib29sIGh0dHBz
VXBncmFkZUVuYWJsZWQgeyB0cnVlIH07CisKKyAgICBVbmlxdWVSZWY8UGVybWlzc2lvbkNvbnRy
b2xsZXI+IHBlcm1pc3Npb25Db250cm9sbGVyOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggNjZh
ZWRhNDNjODJkOGJmYjMzNWJiZmVmNjA5NWQwNGVmYWRiODYyMC4uYTc0NWQ3MjAxNWNmYzE5NWZi
OTZmMmNjNTU4NThhODMxYjc1MGVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2Vz
LnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC02OTQsNiArNjk0LDcgQEAg
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJNZWRpYUtleVN5c3RlbUNsaWVudC5jcHAKIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIuY3Bw
CiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmNwcAor
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAKIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlByb2dyZXNzVHJhY2tlckNsaWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDVmYjMwODk1MDE1NjI0ODY2NjE1M2M2MjRmNDAzNGVh
NGE4ODRmZGYuLjJmOWQyNDQ3NmUzNzJhMzI3OWM5NjVhNDJiY2EzNjBhYTQ4YzVjYzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTcyLDYgKzE3Miw3IEBA
CiAjaW5jbHVkZSA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9NZWRpYVN0cmVhbVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BlcmZvcm1hbmNlTG9n
Z2luZ0NsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGVybWlzc2lvblN0YXRlLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcml2YXRl
Q2xpY2tNZWFzdXJlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHVibGljU3VmZml4Lmg+CkBA
IC04NDkzLDYgKzg0OTQsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJldm9rZUdlb2xvY2F0aW9u
QXV0aG9yaXphdGlvblRva2VuKGNvbnN0IFN0cmluZyYgYXV0aG9yaXphdGkKICAgICBtX2dlb2xv
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLnJldm9rZUF1dGhvcml6YXRpb25Ub2tlbihh
dXRob3JpemF0aW9uVG9rZW4pOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFBlcm1p
c3Npb24oY29uc3QgQ2xpZW50T3JpZ2luJiwgY29uc3QgUGVybWlzc2lvbkRlc2NyaXB0b3ImLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFBlcm1pc3Npb25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCit7CisgICAgLy8gRklYTUU6IFNob3cgYSBwcm9tcHQgZm9yIHVzZXIgaW5wdXQuCisgICAg
Y29tcGxldGlvbkhhbmRsZXIoUGVybWlzc2lvblN0YXRlOjpHcmFudGVkKTsKK30KKwogI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94
eSYgV2ViUGFnZVByb3h5Ojp1c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBlYTFjMjJmYjZiMTFiZTk2
ODk5MjgyNjRkM2JmM2ZjODQ3MTA5YjhkLi40NjFhYWNiODg4NmE1MjMxY2NhYWZmMDc0ZjJhMWE1
NGMwMTc3ZDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjk0
LDYgKzI5NCw3IEBAIHN0cnVjdCBMaW5rSWNvbjsKIHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3Q7
CiBzdHJ1Y3QgTWVkaWFVc2FnZUluZm87CiBzdHJ1Y3QgTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29u
ZmlndXJhdGlvbjsKK3N0cnVjdCBQZXJtaXNzaW9uRGVzY3JpcHRvcjsKIHN0cnVjdCBQcmV3YXJt
SW5mb3JtYXRpb247CiBzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5EYXRhOwogc3RydWN0IFNoYXJlRGF0
YTsKQEAgLTIxMTcsNiArMjExOCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHJlcXVlc3RHZW9s
b2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZShHZW9sb2NhdGlvbklkZW50aWZpZXIsIEZyYW1lSW5m
b0RhdGEmJik7CiAgICAgdm9pZCByZXZva2VHZW9sb2NhdGlvbkF1dGhvcml6YXRpb25Ub2tlbihj
b25zdCBTdHJpbmcmIGF1dGhvcml6YXRpb25Ub2tlbik7CisgICAgdm9pZCByZXF1ZXN0UGVybWlz
c2lvbihjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNz
aW9uRGVzY3JpcHRvciYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lv
blN0YXRlKT4mJik7CiAKICNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKICAgICB2
b2lkIHNlbmRNZXNzYWdlVG9XZWJWaWV3KFVzZXJNZXNzYWdlJiYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGJjMzdiOGZjNmFk
ZjNlYWQxODcyZDExNTVmZjBjYmQwMDlkYzBhZjkuLjA3ZTBmNTQ4MDM0Njk3MDNhNmY3MzdkOTkz
MDdiMWVjNzM1MGNkMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW4KQEAgLTYwMiw0ICs2MDIsNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdl
UHJveHkgewogI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIE1vZGVsRWxl
bWVudERpZENyZWF0ZVByZXZpZXcoc3RydWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0IGVsZW1l
bnRDb250ZXh0LCBVUkwgdXJsLCBTdHJpbmcgdXVpZCwgV2ViQ29yZTo6RmxvYXRTaXplIHNpemUp
CiAjZW5kaWYKKworICAgIHJlcXVlc3RQZXJtaXNzaW9uKHN0cnVjdCBXZWJDb3JlOjpDbGllbnRP
cmlnaW4gb3JpZ2luLCBzdHJ1Y3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3Jp
cHRvcikgLT4gKGVudW06dWludDhfdCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpIEFz
eW5jCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBmZTNkMzJiMzI5NWMyYzQ0ZmQ0NDQ0Y2RkN2YxNDFmMjQwMDRjYTAyLi5mYjY4YTNi
ZDE2ZDI3MzgyY2QzM2M5M2IxMGJlYmUyOTNiMzNhNTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0OTYsNiArMTQ5Niw3IEBACiAJ
CTkzQUI5QjRFMjU3NTY3RTIwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0
aW1lTWVkaWFTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzQUI5QjQyMjU3NDkyOEMwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90
ZVJlYWx0aW1lTWVkaWFTb3VyY2UuaCAqLzsgfTsKIAkJOTNBQjlCNTUyNTc1QTI3NjAwOThCMTBF
IC8qIFNwZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTNBQjlCNEYyNTc1ODkxMTAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRp
YVNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk5M0FCOUI1NjI1NzVB
MjhCMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNl
TWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5M0FCOUI1MTI1NzU4OTExMDA5OEIxMEUgLyogU3BlZWNoUmVjb2du
aXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAg
Ki87IH07CisJCTkzQjBBNjc1MjZENUFEQ0YwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJv
bGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNC
MEE2NzQyNkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggKi87IH07
CiAJCTkzQjI2MTREMjI3RDE0OUUwMEI5N0E3NiAvKiBTdG9yYWdlTWFuYWdlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMjYxNDkyMjdEMTQ3MjAw
Qjk3QTc2IC8qIFN0b3JhZ2VNYW5hZ2VyLmggKi87IH07CiAJCTkzQjI2MTRFMjI3RDE0QjEwMEI5
N0E3NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMjYxNDUyMjdEMTQ3MDAwQjk3QTc2IC8qIExvY2FsU3Rv
cmFnZURhdGFiYXNlLmggKi87IH07CiAJCTkzQjI2MTRGMjI3RDE0QjEwMEI5N0E3NiAvKiBMb2Nh
bFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzQjI2MTQ2MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VE
YXRhYmFzZVRyYWNrZXIuaCAqLzsgfTsKQEAgLTQ5MTQsNiArNDkxNSwxMCBAQAogCQk5M0FCOUI1
MjI1NzU4OTEyMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlh
U291cmNlTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2Vy
TWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQUI5QjUz
MjU3NTg5MTIwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFT
b3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2Vz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQUI5QjU0MjU3NTg5MTIwMDk4QjEw
RSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3BlZWNoUmVjb2duaXRpb25SZWFs
dGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTkzQjBBNjZEMjZENDUxNTAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJtaXNzaW9uTWFuYWdlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjZFMjZENDUxNTAwMEFBMjFF
NCAvKiBQZXJtaXNzaW9uTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQZXJtaXNzaW9uTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0Iw
QTY3MzI2RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY3NDI2RDVBNzJFMDBBQTIx
RTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTNCMjYxNDUyMjdEMTQ3MDAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFiYXNl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvY2FsU3RvcmFnZURhdGFiYXNl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjI2MTQ2MjI3RDE0NzEwMEI5N0E3
NiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTkzQjI2MTQ3MjI3RDE0NzEwMEI5N0E3NiAvKiBMb2NhbFN0b3JhZ2VE
YXRhYmFzZVRyYWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTk2MjMsNiArOTYyOCwxNSBAQAogCQkJcGF0aCA9IFNwZWVjaDsKIAkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTkzQjBBNjZDMjZENDUxMUYwMEFBMjFFNCAvKiBQZXJt
aXNzaW9uICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk5
M0IwQTY2RDI2RDQ1MTUwMDBBQTIxRTQgLyogUGVybWlzc2lvbk1hbmFnZXIuY3BwICovLAorCQkJ
CTkzQjBBNjZFMjZENDUxNTAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5oICovLAorCQkJ
KTsKKwkJCXBhdGggPSBQZXJtaXNzaW9uOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJ
fTsKIAkJOTNCMjYxNDMyMjdEMTQzMTAwQjk3QTc2IC8qIFdlYlN0b3JhZ2UgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtOTg2Myw2ICs5ODc3LDcgQEAKIAkJ
CQk0QTQxMEY0MTE5QUY3QjI3MDAyRUJBQjUgLyogTWVkaWFTdHJlYW0gKi8sCiAJCQkJNTEwNUIw
RDIxNjJGN0E1RTAwRTI3NzA5IC8qIE5ldHdvcmsgKi8sCiAJCQkJMzEwOTk5NzQxNDZDOEFBODAw
MjlERUI5IC8qIE5vdGlmaWNhdGlvbnMgKFVzZXIpICovLAorCQkJCTkzQjBBNjZDMjZENDUxMUYw
MEFBMjFFNCAvKiBQZXJtaXNzaW9uICovLAogCQkJCTFBNkZCN0FBMTFFNjRCNDkwMERCMTM3MSAv
KiBQbHVnaW5zICovLAogCQkJCTkzQUI5QjQ4MjU3NEM1Q0UwMDk4QjEwRSAvKiBTcGVlY2ggKi8s
CiAJCQkJNTExOEU5OTgxRjI5NTI1OTAwM0VGOUY1IC8qIFN0b3JhZ2UgKi8sCkBAIC05OTMzLDYg
Kzk5NDgsOCBAQAogCQkJCTUxMjEyN0MyMTkwODIzOUEwMERBRjM1QyAvKiBXZWJQYXN0ZWJvYXJk
T3ZlcnJpZGVzLmggKi8sCiAJCQkJMEY4NTBGRTQxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZv
cm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAgKi8sCiAJCQkJMEY4NTBGRTUxRUQ3QzM5RjAwRkI3N0E3
IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oICovLAorCQkJCTkzQjBBNjczMjZENUE3
MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAgKi8sCisJCQkJOTNCMEE2
NzQyNkQ1QTcyRTAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggKi8sCiAJCQkJ
MUEzRTczNjAxMUNDMjY1OTAwN0JENTM5IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgKi8s
CiAJCQkJMUEzRTczNUYxMUNDMjY1OTAwN0JENTM5IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5o
ICovLAogCQkJCUQzQjk0ODQyMTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuY3BwICov
LApAQCAtMTI2NjIsNiArMTI2NzksNyBAQAogCQkJCUExNzk4QjRDMjIyRjFCRDQwMDA3NjRCRCAv
KiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QUIxRjc5OTFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNz
YWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY4NTBGRTcxRUQ3QzM5RjAwRkI3N0E3IC8qIFdl
YlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NzUy
NkQ1QURDRjAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxQTNFNzM2MTExQ0MyNjU5MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVz
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzU3NDRGMDEyNjM4RkIzMDA2RjBGMTIgLyogV2ViUG9w
dXBJdGVtLmggaW4gSGVhZGVycyAqLywKIAkJCQlEM0I5NDg0NzExRkY0QjY1MDAwMzJCMzkgLyog
V2ViUG9wdXBNZW51LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRy
b2xsZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJjYjA3NWJiNjc1MTAyZWRiYTQzMzk0YjBlMmJjNTcxZGFk
MTAzZGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwCkBAIC0wLDAgKzEsMTQxIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlBlcm1pc3Npb25D
b250cm9sbGVyLmgiCisKKworI2luY2x1ZGUgIldlYlBhZ2UuaCIKKyNpbmNsdWRlICJXZWJQYWdl
UHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUGVybWlzc2lvbk9ic2VydmVyLmg+
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6V2ViUGVy
bWlzc2lvbkNvbnRyb2xsZXIoV2ViUGFnZSYgcGFnZSkKKyAgICA6IG1fcGFnZShtYWtlV2Vha1B0
cihwYWdlKSkKK3sKK30KKworV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIFdlYlBlcm1pc3Npb25D
b250cm9sbGVyOjpxdWVyeShXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNvcmU6
OlBlcm1pc3Npb25EZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikKK3sKKyAgICBpZiAoIW1fcGFnZSkK
KyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkOworCisgICAg
cmV0dXJuIHF1ZXJ5Q2FjaGUoV1RGTW92ZShvcmlnaW4pLCBXVEZNb3ZlKGRlc2NyaXB0b3IpKTsK
K30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cmVxdWVzdChXZWJDb3JlOjpDbGll
bnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiYgZGVzY3Jp
cHRvciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm4g
Y29tcGxldGlvbkhhbmRsZXIoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpEZW5pZWQpOworCisg
ICAgYXV0byBjYWNoZWRSZXN1bHQgPSBxdWVyeUNhY2hlKG9yaWdpbiwgZGVzY3JpcHRvcik7Cisg
ICAgaWYgKGNhY2hlZFJlc3VsdCAhPSBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdCkK
KyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGNhY2hlZFJlc3VsdCk7CisKKyAgICBt
X3JlcXVlc3RzLmFwcGVuZChQZXJtaXNzaW9uUmVxdWVzdCB7IFdURk1vdmUob3JpZ2luKSwgV1RG
TW92ZShkZXNjcmlwdG9yKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikgfSk7CisgICAgdHJ5
UHJvY2Vzc2luZ1JlcXVlc3RzKCk7Cit9CisKK1dlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBXZWJQ
ZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVlcnlDYWNoZShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmln
aW4mIG9yaWdpbiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0
b3IpCit7CisgICAgaWYgKG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXMuY29udGFpbnMob3JpZ2lu
KSkgeworICAgICAgICBhdXRvIHBlcm1pc3Npb25FbnRyaWVzID0gbV9jYWNoZWRQZXJtaXNzaW9u
RW50cmllcy5nZXQob3JpZ2luKTsKKyAgICAgICAgZm9yIChhdXRvJiBlbnRyeSA6IHBlcm1pc3Np
b25FbnRyaWVzKSB7CisgICAgICAgICAgICBpZiAoZW50cnkuZmlyc3QgPT0gZGVzY3JpcHRvcikK
KyAgICAgICAgICAgICAgICByZXR1cm4gZW50cnkuc2Vjb25kOworICAgICAgICB9CisgICAgfQor
CisgICAgcmV0dXJuIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0OworfQorCit2b2lk
IFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjp1cGRhdGVDYWNoZShjb25zdCBXZWJDb3JlOjpDbGll
bnRPcmlnaW4mIG9yaWdpbiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImIGRl
c2NyaXB0b3IsIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBzdGF0ZSkKK3sKKyAgICBhdXRvJiBl
bnRyaWVzID0gbV9jYWNoZWRQZXJtaXNzaW9uRW50cmllcy5lbnN1cmUob3JpZ2luLCBbJl0oKSB7
CisgICAgICAgIHJldHVybiBWZWN0b3I8UGVybWlzc2lvbkVudHJ5PiB7IH07CisgICAgfSkuaXRl
cmF0b3ItPnZhbHVlOworICAgIGZvciAoYXV0byYgZW50cnkgOiBlbnRyaWVzKSB7CisgICAgICAg
IGlmIChlbnRyeS5maXJzdCA9PSBkZXNjcmlwdG9yKSB7CisgICAgICAgICAgICBpZiAoZW50cnku
c2Vjb25kID09IHN0YXRlKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAg
ZW50cnkuc2Vjb25kID0gc3RhdGU7CisgICAgICAgICAgICBwZXJtaXNzaW9uQ2hhbmdlZChvcmln
aW4sIGRlc2NyaXB0b3IsIHN0YXRlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQor
ICAgIH0KK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6dHJ5UHJvY2Vzc2luZ1Jl
cXVlc3RzKCkKK3sKKyAgICBpZiAobV9yZXF1ZXN0cy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIHdoaWxlICghbV9yZXF1ZXN0cy5pc0VtcHR5KCkpIHsKKyAgICAgICAgYXV0byYg
Y3VycmVudFJlcXVlc3QgPSBtX3JlcXVlc3RzLmZpcnN0KCk7CisgICAgICAgIGlmIChjdXJyZW50
UmVxdWVzdC5pc1dhaXRpbmdGb3JSZXBseSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAg
ICAvLyBDYWNoZSBtYXkgaGF2ZSB1cGRhdGVkLgorICAgICAgICBhdXRvIGNhY2hlZFJlc3VsdCA9
IHF1ZXJ5Q2FjaGUoY3VycmVudFJlcXVlc3Qub3JpZ2luLCBjdXJyZW50UmVxdWVzdC5kZXNjcmlw
dG9yKTsKKyAgICAgICAgaWYgKGNhY2hlZFJlc3VsdCAhPSBXZWJDb3JlOjpQZXJtaXNzaW9uU3Rh
dGU6OlByb21wdCkgeworICAgICAgICAgICAgbV9yZXF1ZXN0cy50YWtlRmlyc3QoKS5jb21wbGV0
aW9uSGFuZGxlcihjYWNoZWRSZXN1bHQpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
IH0KKworICAgICAgICBjdXJyZW50UmVxdWVzdC5pc1dhaXRpbmdGb3JSZXBseSA9IHRydWU7Cisg
ICAgICAgIG1fcGFnZS0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OnJlcXVlc3RQZXJtaXNzaW9uKGN1cnJlbnRSZXF1ZXN0Lm9yaWdpbiwgY3VycmVudFJlcXVlc3Qu
ZGVzY3JpcHRvciksIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0oYXV0byBz
dGF0ZSkgeworICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgICAgIGF1dG8gdGFrZW5SZXF1ZXN0ID0gbV9yZXF1ZXN0cy50YWtlRmly
c3QoKTsKKyAgICAgICAgICAgIHRha2VuUmVxdWVzdC5jb21wbGV0aW9uSGFuZGxlcihzdGF0ZSk7
CisgICAgICAgICAgICB1cGRhdGVDYWNoZSh0YWtlblJlcXVlc3Qub3JpZ2luLCB0YWtlblJlcXVl
c3QuZGVzY3JpcHRvciwgc3RhdGUpOworCisgICAgICAgICAgICB0cnlQcm9jZXNzaW5nUmVxdWVz
dHMoKTsKKyAgICAgICAgfSk7CisgICAgfQorfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9s
bGVyOjphZGRPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImIG9ic2VydmVyKQor
eworICAgIG1fb2JzZXJ2ZXJzLmFkZChvYnNlcnZlcik7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lv
bkNvbnRyb2xsZXI6OnJlbW92ZU9ic2VydmVyKFdlYkNvcmU6OlBlcm1pc3Npb25PYnNlcnZlciYg
b2JzZXJ2ZXIpCit7CisgICAgbV9vYnNlcnZlcnMucmVtb3ZlKG9ic2VydmVyKTsKK30KKwordm9p
ZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cGVybWlzc2lvbkNoYW5nZWQoY29uc3QgV2ViQ29y
ZTo6Q2xpZW50T3JpZ2luJiBvcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlw
dG9yJiBkZXNjcmlwdG9yLCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpCit7CisgICAg
Zm9yIChhdXRvJiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKSB7CisgICAgICAgIGlmIChvYnNlcnZl
ci5vcmlnaW4oKSA9PSBvcmlnaW4gJiYgb2JzZXJ2ZXIuZGVzY3JpcHRvcigpID09IGRlc2NyaXB0
b3IpCisgICAgICAgICAgICBvYnNlcnZlci5zdGF0ZUNoYW5nZWQoc3RhdGUpOworICAgIH0KK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjI4YWNiOGQxNzMzMDY2YzZlZjg2NTQ0YjMxOWQ2ZDA5NTg0ZmU3ZTUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaApAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL0NsaWVudE9yaWdpbi5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvUGVybWlzc2lvbkNvbnRyb2xsZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Bl
cm1pc3Npb25EZXNjcmlwdG9yLmg+CisjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CisjaW5jbHVkZSA8
d3RmL1dlYWtIYXNoU2V0Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJQYWdl
OworCitjbGFzcyBXZWJQZXJtaXNzaW9uQ29udHJvbGxlciBmaW5hbCA6IHB1YmxpYyBDYW5NYWtl
V2Vha1B0cjxXZWJQZXJtaXNzaW9uQ29udHJvbGxlcj4sIHB1YmxpYyBXZWJDb3JlOjpQZXJtaXNz
aW9uQ29udHJvbGxlciB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgV2ViUGVybWlzc2lvbkNvbnRy
b2xsZXIoV2ViUGFnZSYpOworCitwcml2YXRlOgorICAgIC8vIFdlYkNvcmU6OlBlcm1pc3Npb25D
b250cm9sbGVyCisgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHF1ZXJ5KFdlYkNvcmU6OkNs
aWVudE9yaWdpbiYmLCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmKSBmaW5hbDsKKyAg
ICB2b2lkIHJlcXVlc3QoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlBlcm1pc3Np
b25EZXNjcmlwdG9yJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lv
blN0YXRlKT4mJikgZmluYWw7CisgICAgdm9pZCBhZGRPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNz
aW9uT2JzZXJ2ZXImKSBmaW5hbDsKKyAgICB2b2lkIHJlbW92ZU9ic2VydmVyKFdlYkNvcmU6OlBl
cm1pc3Npb25PYnNlcnZlciYpIGZpbmFsOworCisgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRl
IHF1ZXJ5Q2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgV2ViQ29yZTo6
UGVybWlzc2lvbkRlc2NyaXB0b3ImKTsKKyAgICB2b2lkIHVwZGF0ZUNhY2hlKGNvbnN0IFdlYkNv
cmU6OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiwg
V2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKTsKKyAgICB2b2lkIHRyeVByb2Nlc3NpbmdSZXF1ZXN0
cygpOworICAgIHZvaWQgcGVybWlzc2lvbkNoYW5nZWQoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3Jp
Z2luJiwgY29uc3QgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImLCBXZWJDb3JlOjpQZXJt
aXNzaW9uU3RhdGUpOworCisgICAgV2Vha1B0cjxXZWJQYWdlPiBtX3BhZ2U7CisgICAgV2Vha0hh
c2hTZXQ8V2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyPiBtX29ic2VydmVyczsKKworICAgIHVz
aW5nIFBlcm1pc3Npb25FbnRyeSA9IHN0ZDo6cGFpcjxXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3Jp
cHRvciwgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlPjsKKyAgICBIYXNoTWFwPFdlYkNvcmU6OkNs
aWVudE9yaWdpbiwgVmVjdG9yPFBlcm1pc3Npb25FbnRyeT4+IG1fY2FjaGVkUGVybWlzc2lvbkVu
dHJpZXM7CisKKyAgICBzdHJ1Y3QgUGVybWlzc2lvblJlcXVlc3QgeworICAgICAgICBXZWJDb3Jl
OjpDbGllbnRPcmlnaW4gb3JpZ2luOworICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3Jp
cHRvciBkZXNjcmlwdG9yOworICAgICAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6
OlBlcm1pc3Npb25TdGF0ZSk+IGNvbXBsZXRpb25IYW5kbGVyOworICAgICAgICBib29sIGlzV2Fp
dGluZ0ZvclJlcGx5IHsgZmFsc2UgfTsKKyAgICB9OworICAgIERlcXVlPFBlcm1pc3Npb25SZXF1
ZXN0PiBtX3JlcXVlc3RzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAwNGUzYWUyMDE0M2Yy
ZjNkYmQyMDY0YTMwMmYwMWI4NGVkY2E5NjQ1Li43MTFlZDhlOTIyNzZlYjkzMWY1NDQ1Yzc0ZmQ2
YzNiMGU5ZWI1NDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcApAQCAtMTIxLDYgKzEyMSw3IEBACiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2Fn
ZXMuaCIKICNpbmNsdWRlICJXZWJQYXltZW50Q29vcmRpbmF0b3IuaCIKICNpbmNsdWRlICJXZWJQ
ZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaCIKKyNpbmNsdWRlICJXZWJQZXJtaXNzaW9uQ29udHJv
bGxlci5oIgogI2luY2x1ZGUgIldlYlBsdWdpbkluZm9Qcm92aWRlci5oIgogI2luY2x1ZGUgIldl
YlBvcHVwTWVudS5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCIKQEAg
LTU2Myw3ICs1NjQsOCBAQCBXZWJQYWdlOjpXZWJQYWdlKFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwg
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAgICAgIG1ha2VVbmlx
dWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KG1fbWFpbkZyYW1lLmNvcHlSZWYoKSksCiAgICAg
ICAgIG1ha2VVbmlxdWVSZWY8V2ViU3BlZWNoUmVjb2duaXRpb25Qcm92aWRlcj4obV9pZGVudGlm
aWVyKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCp0aGlz
KSwKLSAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuYnJvYWRjYXN0Q2hhbm5lbFJlZ2lz
dHJ5KCkKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuYnJvYWRjYXN0Q2hhbm5lbFJl
Z2lzdHJ5KCksCisgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI+
KCp0aGlzKQogICAgICk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3
IFdlYkNocm9tZUNsaWVudCgqdGhpcyk7CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJl
c2hNb25pdG9yTWFjLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlz
cGxheVJlZnJlc2hNb25pdG9yTWFjLmgKaW5kZXggYmJmOGQxYmI4Y2U2YzMwMWRjM2VmMjAxOTUz
ZDgyZmVjMDVlZGQ1OC4uNTZiYzgxYzc4ZjM0YWE0NTM0NzkzNWQyNzFlYzU3MGMzZmM3ZWU1MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0Rpc3BsYXlS
ZWZyZXNoTW9uaXRvck1hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaApAQCAtNTAsNyArNTAsNyBAQCBwcml2YXRl
OgogICAgIGJvb2wgc3RhcnROb3RpZmljYXRpb25NZWNoYW5pc20oKSBmaW5hbDsKICAgICB2b2lk
IHN0b3BOb3RpZmljYXRpb25NZWNoYW5pc20oKSBmaW5hbDsKIAotICAgIHZvaWQgYWRqdXN0UHJl
ZmVycmVkRnJhbWVzUGVyU2Vjb25kKEZyYW1lc1BlclNlY29uZCkgZmluYWw7CisgICAgdm9pZCBh
ZGp1c3RQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQoV2ViQ29yZTo6RnJhbWVzUGVyU2Vjb25kKSBm
aW5hbDsKIAogICAgIERpc3BsYXlMaW5rT2JzZXJ2ZXJJRCBtX29ic2VydmVySUQ7CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFdlYkNvcmU6OlJ1bkxvb3BPYnNlcnZlcj4gbV9ydW5Mb29wT2JzZXJ2ZXI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0g
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggY2Q2YTVm
NTcyOTk0ZjdlYzRmYmRlNzYzN2RmODY3YmQ1MmYzYzgzNC4uNDgwM2ViYzllYzc3ZTg4ZTE1YjI4
ZTJiZWRjMTZkNjczYTcyODljZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQpAQCAtMTk1LDYgKzE5NSw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvUGFnZUNvbmZpZ3VyYXRpb24uaD4KICNpbXBvcnQgPFdlYkNvcmUv
UGF0aFV0aWxpdGllcy5oPgorI2ltcG9ydCA8V2ViQ29yZS9QZXJtaXNzaW9uQ29udHJvbGxlci5o
PgogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5oPgogI2ltcG9ydCA8
V2ViQ29yZS9QbGF0Zm9ybVNjcmVlbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9Qcm9ncmVzc1RyYWNr
ZXIuaD4KQEAgLTE1MzYsNyArMTUzNyw4IEBAIHN0YXRpYyB2b2lkIFdlYktpdEluaXRpYWxpemVH
YW1lcGFkUHJvdmlkZXJJZk5lY2Vzc2FyeSgpCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRnJh
bWVMb2FkZXJDbGllbnQ+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6RHVtbXlT
cGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNv
cmU6Ok1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKSwKLSAgICAgICAgV2ViQnJvYWRjYXN0Q2hhbm5l
bFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShbW3NlbGYgcHJlZmVyZW5jZXNdIHByaXZhdGVCcm93c2lu
Z0VuYWJsZWRdKQorICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmdldE9yQ3Jl
YXRlKFtbc2VsZiBwcmVmZXJlbmNlc10gcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0pLAorICAgICAg
ICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15UGVybWlzc2lvbkNvbnRyb2xsZXI+KCkKICAg
ICApOwogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNo
cm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoc2VsZik7CkBAIC0xODE0LDcgKzE4MTYs
OCBAQCBzdGF0aWMgdm9pZCBXZWJLaXRJbml0aWFsaXplR2FtZXBhZFByb3ZpZGVySWZOZWNlc3Nh
cnkoKQogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xpZW50PigpLAogICAg
ICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15U3BlZWNoUmVjb2duaXRpb25Qcm92aWRl
cj4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJvdmlk
ZXI+KCksCi0gICAgICAgIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JDcmVhdGUo
W1tzZWxmIHByZWZlcmVuY2VzXSBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSkKKyAgICAgICAgV2Vi
QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShbW3NlbGYgcHJlZmVyZW5jZXNd
IHByaXZhdGVCcm93c2luZ0VuYWJsZWRdKSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3Jl
OjpEdW1teVBlcm1pc3Npb25Db250cm9sbGVyPigpCiAgICAgKTsKICAgICBwYWdlQ29uZmlndXJh
dGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50SU9TKHNlbGYpOwogI2lmIEVO
QUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCmluZGV4IDFj
ZjMyZGEyNGEwOTBjZmUzZDJiNjUyOWNhODNmODI2YzU1ODJlOWQuLmMxOWU4ZWZmNTdmODE5MGVh
MmM0YmNlMzE1ZjBmODBiMzkyYzE5YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3Bw
CkBAIC0xMzgsNiArMTM4LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdlQ29uZmlndXJhdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUGF0aFV0aWxpdGllcy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGVybWlzc2lvbkNvbnRyb2xs
ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUGxhdGZvcm1Nb3VzZUV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0
Zm9ybVdoZWVsRXZlbnQuaD4KQEAgLTMxMzMsNyArMzEzNCw4IEBAIEhSRVNVTFQgV2ViVmlldzo6
aW5pdFdpdGhGcmFtZShSRUNUIGZyYW1lLCBfSW5fIEJTVFIgZnJhbWVOYW1lLCBfSW5fIEJTVFIg
Z3JvdXBOCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KHdlYkZy
YW1lKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1teVNwZWVjaFJlY29nbml0aW9uUHJvdmlk
ZXI+KCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPigpLAot
ICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRlKGZhbHNlKQor
ICAgICAgICBXZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRlKGZhbHNlKSwK
KyAgICAgICAgbWFrZVVuaXF1ZVJlZjxEdW1teVBlcm1pc3Npb25Db250cm9sbGVyPigpCiAgICAg
KTsKICAgICBjb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQo
dGhpcyk7CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjEzNWZkYzMwOTc1NjA5
NzZkYTgwOGM5OTg5ZjAwNzNiYzkxZDRlOS4uNWUxZDhmYzU1OTliMTkxZDAyYzM4MWVhZDkyOWFh
NGQ5OTRjNjZhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA4LTMwICBTaWh1aSBMaXUg
IDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdHVicyBmb3IgUGVybWlzc2lv
bnMgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjkzMzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgyNDQyMjA1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1j
cmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9u
YXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL3drMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTA4LTI1ICBBbGV4IENocmlzdGVuc2Vu
ICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ3Jhc2ggaW4gR3JhcGhpY3ND
b250ZXh0R0xPcGVuR0w6OnJlc2hhcGVEaXNwbGF5QnVmZmVyQmFja2luZwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKaW5kZXggOGE2NjUwZjg4Mjg0OTk4MDJhOWQyMGVmZTY5YjU0MzM3YjY0
NGI4Zi4uODI2ODgwNDViYzE4MTY0NmYwMWI1ZGY1NTBlYzVjNTg2YWM1MDgyNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDgtMzAgIFNpaHVp
IExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJt
aXNzaW9ucyBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyOTMzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVy
bWlzc2lvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1p
c3Npb25zL3Blcm1pc3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5z
dWItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9u
cy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1i
YWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1w
ZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wOC0yNSAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWMgd2syXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXBvcnRpbmctdG8t
ZnJhbWUtb3duZXIuaHR0cHMuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDZiZGUyZjk0ZWFkMjE3Yjg2NDQzMjU3MThjMWY0YzYyMTFmMjc2NzAuLjhiYzkzNjhk
OGE4ZWQyOGJhYWE1NDEzZGJmOGFiZjJjMTZmZDE5MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MTk2LDYgKzE5Niw3IEBAIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vcGVybWlzc2lvbi1lcnJvci5o
dG1sIFsgU2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXJlY29nbml0aW9uLXRo
ZW4tc3RvcC5odG1sIFsgU2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXNlY29u
ZC1yZWNvZ25pdGlvbi5odG1sIFsgU2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL2lvcy8g
WyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvIFsg
U2tpcCBdCiAKICMgYXBwLXByaXZhY3ktcmVwb3J0IHRlc3RzIHJlbHkgb24gV2ViS2l0QWRkaXRp
b25zCiBodHRwL3Rlc3RzL2FwcC1wcml2YWN5LXJlcG9ydC8gWyBTa2lwIF0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
aWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQK
aW5kZXggYjg0ZDQwZDc2NWYyMDQwODNkZWY4YjY3NzAwYzQyMDQ0YjAzNDY5OC4uMGM0YmFhMGNm
ZWUwMWY5NGNlYWY0YWY3ZmIzOGY4OWI0ZmI2YmJlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFu
eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKQEAgLTE5LDI5
ICsxOSwyOSBAQCBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JJRDogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmln
YXRvckxhbmd1YWdlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0
b3IgaW5jbHVkZXMgTmF2aWdhdG9yT25MaW5lOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFT
UyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1
cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBl
Y3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9u
U3RhdHVzIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVz
IiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3Ii
IHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3Rh
dHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFi
bGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9u
U3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgc3RhdGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0
dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bmNoYW5nZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1
cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZh
Y2Ugb2YgcGVybWlzc2lvblN0YXR1cyBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlv
biB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgotRkFJ
TCBTdHJpbmdpZmljYXRpb24gb2YgcGVybWlzc2lvblN0YXR1cyBhc3NlcnRfZXF1YWxzOiBVbmV4
cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0
IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNz
aW9uU3RhdHVzIgotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogcGVybWlzc2lvblN0
YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0YXRlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBh
c3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0
IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogcGVybWlzc2lvblN0YXR1cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY2hhbmdlIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3
aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBwZXJtaXNzaW9uU3RhdHVzIgotRkFJTCBQ
ZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3Np
bmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4
cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBp
bnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNz
aW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0
ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkg
IlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNj
b3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25z
IiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5KG9i
amVjdCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwot
RkFJTCBQZXJtaXNzaW9ucyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmlnYXRvci5w
ZXJtaXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJv
YmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmln
YXRvci5wZXJtaXNzaW9ucyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVj
dGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJm
YWNlOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeShv
YmplY3QpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Yg
b2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgUGVybWlz
c2lvbnMgaW50ZXJmYWNlOiBjYWxsaW5nIHF1ZXJ5KG9iamVjdCkgb24gbmF2aWdhdG9yLnBlcm1p
c3Npb25zIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0
X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1
bmRlZmluZWQiCi1GQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwZXJtaXNzaW9u
cyBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkg
InBlcm1pc3Npb25zIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBOYXZpZ2F0b3IgaW50
ZXJmYWNlOiBuYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJwZXJtaXNzaW9ucyIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicGVybWlzc2lvbnMi
IG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNT
IFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUGVybWlzc2lv
blN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9w
ZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlCitQ
QVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UKK1BBU1Mg
UGVybWlzc2lvblN0YXR1cyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHBlcm1pc3Npb25T
dGF0dXMKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIHBlcm1pc3Npb25TdGF0dXMKK1BBU1MgUGVy
bWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJzdGF0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKK1BBU1MgUGVybWlzc2lvblN0YXR1
cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNo
YW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQZXJtaXNz
aW9ucyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvbnMg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25zIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBxdWVyeShvYmplY3QpCitQQVNTIFBlcm1pc3Npb25zIG11c3QgYmUgcHJpbWFy
eSBpbnRlcmZhY2Ugb2YgbmF2aWdhdG9yLnBlcm1pc3Npb25zCitQQVNTIFN0cmluZ2lmaWNhdGlv
biBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBu
YXZpZ2F0b3IucGVybWlzc2lvbnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeShvYmplY3Qp
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGNhbGxp
bmcgcXVlcnkob2JqZWN0KSBvbiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgd2l0aCB0b28gZmV3IGFy
Z3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvcgorUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgcGVybWlzc2lvbnMKK1BBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogbmF2aWdhdG9y
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGVybWlzc2lvbnMiIHdpdGggdGhlIHByb3BlciB0eXBl
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFy
bmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA1MjU2MDJkMTZkN2YwZjU0Y2E4ZWYw
M2Y3ZmNmNWI0ZWVlZjMxNjk3Li4wNjJiMjk1N2YzMTU1MWIzNTJhNDk1NDE2YzNmNGFiZmE1Nzk5
ZTZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9p
ZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xOSwyNSArMTksMjUgQEAgUEFT
UyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBuYW1lcyBhcmUg
dW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JMYW5ndWFnZTog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5h
dmlnYXRvck9uTGluZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdh
dG9yIGluY2x1ZGVzIE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVyIG5hbWVzIGFy
ZSB1bmlxdWUKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMg
aW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkg
IlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZh
Y2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Np
b25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRf
b3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9u
U3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJ
TCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNz
aW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwot
RkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJt
aXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2lu
ZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlIGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Np
b25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1G
QUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lv
blN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKK1BB
U1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVj
dCBsZW5ndGgKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BB
U1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZTogYXR0cmlidXRlIHN0YXRlCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25jaGFuZ2UKIEZBSUwgUGVybWlzc2lvblN0YXR1cyBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIHBlcm1pc3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBl
eGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2Jq
ZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1
cyIKIEZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIHBlcm1pc3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFs
czogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBu
dWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
cGVybWlzc2lvblN0YXR1cyIKIEZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1p
c3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzdGF0ZSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5n
IG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKIEZBSUwgUGVybWlzc2lvblN0YXR1
cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNo
YW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNl
cHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0
ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIK
LUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25z
IiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Np
b25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlz
c2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAi
UGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMi
IGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9u
cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
IEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJt
aXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBx
dWVyeShvYmplY3QpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1p
c3NpbmcKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0
IGxlbmd0aAorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgUGVy
bWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0
b3IiIHByb3BlcnR5CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBw
cm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeShvYmpl
Y3QpCiBGQUlMIFBlcm1pc3Npb25zIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmF2aWdh
dG9yLnBlcm1pc3Npb25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0
ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgogRkFJTCBTdHJpbmdpZmljYXRpb24gb2Yg
bmF2aWdhdG9yLnBlcm1pc3Npb25zIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3Qg
ZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgogRkFJTCBQZXJtaXNzaW9ucyBp
bnRlcmZhY2U6IG5hdmlnYXRvci5wZXJtaXNzaW9ucyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInF1
ZXJ5KG9iamVjdCkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5
cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVk
LnR4dAppbmRleCBjM2U4NjA1Zjg3Mjg3YTgwMzgxZjVkYjgwNmNkZDA1YTI1NTY1ZGRlLi5jMmZk
NjVlOGQ0MDAyYTcyMzAxODdhNjFmNTFjMjgyZWZjMWM2YmVjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJt
aXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dApAQCAt
MSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IFdlYiBORkMgUGVybWlzc2lvbi4gdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeScp
CitQQVNTIFRlc3QgV2ViIE5GQyBQZXJtaXNzaW9uLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25z
LXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9w
ZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVj
dGVkLnR4dAppbmRleCBlNDJkZGEyNjEyZjI1N2I3ZjAyYmJlZWY2NTYzM2IyNWI3MzY0N2E1Li5j
NGJhMjQ5MmU5OTE5OWQ2NjYwNWE4YzAxYWEwMTUxYjk2MjQ2MDc4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1p
c3Npb25zLXF1ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVyZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBz
LnN1Yi1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgUGVybWlzc2lvbnMuc3Rh
dGUgaXMgInByb21wdCIgd2l0aCBhbGxvdz0iZ2VvbG9jYXRpb24iIGluIHNhbWUtb3JpZ2luIGlm
cmFtZXMuIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9j
YXRpb24iKSBleHBlY3RlZCAoc3RyaW5nKSAicHJvbXB0IiBidXQgZ290IChvYmplY3QpIG51bGwK
LUZBSUwgUGVybWlzc2lvbnMuc3RhdGUgaXMgInByb21wdCIgd2l0aCBhbGxvdz0iZ2VvbG9jYXRp
b24iIGluIGNyb3NzLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVy
bWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgKHN0cmluZykgInByb21wdCIg
YnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIFBlcm1pc3Npb24uc3RhdGUgaXMgInByb21wdCIg
aW4gc2FtZS1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Np
b25zLnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJwcm9tcHQiIGJ1dCBn
b3QgKG9iamVjdCkgbnVsbAotRkFJTCBQZXJtaXNzaW9uLnN0YXRlIGlzICJkZW5pZWQiIGluIGNy
b3NzLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBuYXZpZ2F0b3IucGVybWlzc2lvbnMu
cXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgKHN0cmluZykgImRlbmllZCIgYnV0IGdvdCAo
b2JqZWN0KSBudWxsCitQQVNTIFBlcm1pc3Npb25zLnN0YXRlIGlzICJwcm9tcHQiIHdpdGggYWxs
b3c9Imdlb2xvY2F0aW9uIiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLgorUEFTUyBQZXJtaXNzaW9u
cy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93PSJnZW9sb2NhdGlvbiIgaW4gY3Jvc3Mtb3Jp
Z2luIGlmcmFtZXMuCitQQVNTIFBlcm1pc3Npb24uc3RhdGUgaXMgInByb21wdCIgaW4gc2FtZS1v
cmlnaW4gaWZyYW1lcy4KK0ZBSUwgUGVybWlzc2lvbi5zdGF0ZSBpcyAiZGVuaWVkIiBpbiBjcm9z
cy1vcmlnaW4gaWZyYW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1
ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4cGVjdGVkICJkZW5pZWQiIGJ1dCBnb3QgInByb21wdCIKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lv
bnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQKaW5kZXggMTFmYjFhMGQ2MTI0ZGE5NGUwMDFlN2Rk
OTIzZTAxN2NlNjllNzhiYS4uMGU0ZWJjYzQ3Y2NiOTM4OTA4ZWNlODRjYzY4ZjE1M2QwODUzNzlh
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Bl
cm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlM
IFRlc3QgUGVybWlzc2lvblN0YXR1cydzIG5hbWUgYXR0cmlidXRlLiBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5l
ZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVl
cnknKSIKK1BBU1MgVGVzdCBQZXJtaXNzaW9uU3RhdHVzJ3MgbmFtZSBhdHRyaWJ1dGUuCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
bWlzc2lvbnMvc2NyZWVuLXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvc2NyZWVu
LXdha2UtbG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAppbmRleCA4NWM3YmJhNWMyYjI0NTkz
ZjUxZTIxNDZiZTI1YmQxNmZhMDVmZjU4Li5kNjhiNjgwYjgxOWRlMTdjM2FkMzViZDU4ZTZmNTBk
MTVhNmRiYWJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy9zY3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0x
LDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgInNjcmVlbi13YWtlLWxvY2siIFBlcm1pc3Npb24uIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5w
ZXJtaXNzaW9ucy5xdWVyeScpIgorRkFJTCBUZXN0ICJzY3JlZW4td2FrZS1sb2NrIiBQZXJtaXNz
aW9uLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZl
dGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlz
c2lvbi1leHBlY3RlZC50eHQKaW5kZXggOWE5NDI2OWZiNzQzOGZjNjNiZTE4ZDAwY2QyOTk3Y2M1
OWJhOGRkNi4uNzg1YmI1ODVmNTE1OTVmZGVhMDUyMzQxNjcyMzgxM2M4ZGIyMzE1OSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNz
aW9ucy90ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90
ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwz
IEBACiAKLUZBSUwgVGVzdCBCYWNrZ3JvdW5kIEZldGNoIFBlcm1pc3Npb24uIHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkn
KQorUEFTUyBUZXN0IEJhY2tncm91bmQgRmV0Y2ggUGVybWlzc2lvbi4KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90
ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVz
dC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXgg
MzE2ZDM1MWEwZTA3NTRiMWU1MDliZjNjYTBhZGE0YjY0ZGUzNTZhNy4uNGU5ZjM3YTg3NTZlYjE3
YTJmYjg0ZjExNzAyYTE0M2E4NmI3MDk5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tn
cm91bmQtc3luYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFj
a2dyb3VuZC1zeW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1G
QUlMIFRlc3QgUGVyaW9kaWMgQmFja2dyb3VuZCBTeW5jIFBlcm1pc3Npb24uIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5wZXJtaXNzaW9u
cy5xdWVyeScpIgorRkFJTCBUZXN0IFBlcmlvZGljIEJhY2tncm91bmQgU3luYyBQZXJtaXNzaW9u
LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IFR5cGUgZXJyb3IiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azEvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFj
aGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCBjNDZmZWM2NDA1OThiZGY5YmZlYzViZmI3
NTExZDY3MDg3ZWMxYjZlLi5lMDgxNzAzNDU4MGEzZTJkMzJhMGMwYzVjNmRkY2Y1NDU3NTJjOTE2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2Zhc3QvZG9tL25hdmln
YXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0
ZWQudHh0CkBAIC0xMyw2ICsxMyw3IEBAIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBpcyBP
SwogbmF2aWdhdG9yLm1lZGlhU2Vzc2lvbiBpcyBPSwogbmF2aWdhdG9yLm1pbWVUeXBlcyBpcyBP
SwogbmF2aWdhdG9yLm9uTGluZSBpcyBPSworbmF2aWdhdG9yLnBlcm1pc3Npb25zIGlzIE9LCiBu
YXZpZ2F0b3IucGxhdGZvcm0gaXMgT0sKIG5hdmlnYXRvci5wbHVnaW5zIGlzIE9LCiBuYXZpZ2F0
b3IucHJvZHVjdCBpcyBPSwpAQCAtMzYsNiArMzcsNyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMgaXMgT0sKIG5hdmlnYXRvci5tZWRpYVNlc3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1l
VHlwZXMgaXMgT0sKIG5hdmlnYXRvci5vbkxpbmUgaXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9u
cyBpcyBPSwogbmF2aWdhdG9yLnBsYXRmb3JtIGlzIE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBP
SwogbmF2aWdhdG9yLnByb2R1Y3QgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRl
dGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCBkZjkwMTA5MDRkNTc3ZTg1YTA3NjY2
N2E5MzdhZDc3ZTZkOGY1OTU3Li5jNjhkM2NhMGIzMGNkY2VlN2RlMWViN2JlNDEzNjlhMGJlZGI4
M2JhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25h
dmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhw
ZWN0ZWQudHh0CkBAIC0xOCw2ICsxOCw3IEBAIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBp
cyBPSwogbmF2aWdhdG9yLm1lZGlhU2Vzc2lvbiBpcyBPSwogbmF2aWdhdG9yLm1pbWVUeXBlcyBp
cyBPSwogbmF2aWdhdG9yLm9uTGluZSBpcyBPSworbmF2aWdhdG9yLnBlcm1pc3Npb25zIGlzIE9L
CiBuYXZpZ2F0b3IucGxhdGZvcm0gaXMgT0sKIG5hdmlnYXRvci5wbHVnaW5zIGlzIE9LCiBuYXZp
Z2F0b3IucHJvZHVjdCBpcyBPSwpAQCAtNTEsNiArNTIsNyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMgaXMgT0sKIG5hdmlnYXRvci5tZWRpYVNlc3Npb24gaXMgT0sKIG5hdmlnYXRvci5t
aW1lVHlwZXMgaXMgT0sKIG5hdmlnYXRvci5vbkxpbmUgaXMgT0sKK25hdmlnYXRvci5wZXJtaXNz
aW9ucyBpcyBPSwogbmF2aWdhdG9yLnBsYXRmb3JtIGlzIE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBp
cyBPSwogbmF2aWdhdG9yLnByb2R1Y3QgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggNmNlZTBmYTJkNGQ1ZGZmNmI5ZDYxODI3ZWVlM2U5MTRkOTc5
Yjk0NS4uNDA4YzhiNDFiYzQzY2ExYjMzZjA2NDc5MTBhMmJhNWM2NjMzNmRiZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTg2MCw0ICs4NjAsNSBAQCBm
YXN0L3NwZWVjaHJlY29nbml0aW9uL3Blcm1pc3Npb24tZXJyb3IuaHRtbCBbIFBhc3MgXQogZmFz
dC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1yZWNvZ25pdGlvbi10aGVuLXN0b3AuaHRtbCBbIFBh
c3MgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1zZWNvbmQtcmVjb2duaXRpb24uaHRt
bCBbIFBhc3MgXQogZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1lbnRlci13aGlsZS1leGl0aW5nLmh0
bWwgWyBQYXNzIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMv
IFsgUGFzcyBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436789</attachid>
            <date>2021-08-30 10:19:21 -0700</date>
            <delta_ts>2021-08-30 11:50:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229339-20210830101920.patch</filename>
            <type>text/plain</type>
            <size>129094</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLjczYWUxMzQ1OTFlOWQ3MTk3MTMxMWUxZjNlZDkxOGU4YTBjZjNi
ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDgtMzAgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBQZXJtaXNzaW9ucyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTMzOQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODI0NDIyMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hy
aXMgRHVtZXouCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2Vz
RXhwZXJpbWVudGFsLnlhbWw6CisKIDIwMjEtMDgtMjUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9o
c2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHNvbWUgaU9TLXNwZWNpZmljIGNvbXBp
bGUtdGltZSBndWFyZHMgdGhhdCBhcmUgbm8gbG9uZ2VyIG5lZWRlZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRh
OTM1MmRkOGVmOWRjZDk1ZmJkNjcxMmI1NGViNGVlZmZlZDI1YzIuLmM0NzVjYzc4NDM1YzYwY2Zk
ZjY0NjRhMTgyNjQ0ZmY4ZGE5NjJkMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NyBAQAorMjAy
MS0wOC0zMCAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQg
c3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MjQ0MjIw
NT4KKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBBZGQgYmlu
ZGluZ3MgY29kZSBhbmQgYSBmZWF0dXJlIGZsYWcgZm9yIFBlcm1pc3Npb25zIEFQSS4KKyAgICAg
ICAgU3BlYzogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLworCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gUmViYXNlbGluZSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIE1v
ZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlkbDogQWRkZWQuCisgICAg
ICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yUGVybWlzc2lvbnM6Ok5hdmlnYXRvclBlcm1p
c3Npb25zKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclBlcm1pc3Npb25zOjpwZXJtaXNz
aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6ZnJvbSk6Cisg
ICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JQZXJtaXNzaW9uczo6c3VwcGxlbWVudE5hbWUpOgor
ICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaDogQWRk
ZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uQ29udHJvbGxlci5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlw
dG9yLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3I6Om9w
ZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3I6
OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvcjo6
ZGVjb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlw
dG9yLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
TmFtZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25O
YW1lLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9u
T2JzZXJ2ZXIuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uU3RhdGUuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNz
aW9uU3RhdGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25TdGF0dXMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0
dXM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdHVzOjpQZXJtaXNz
aW9uU3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6On5QZXJtaXNz
aW9uU3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OnN0YXRlQ2hh
bmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdHVzOjphY3RpdmVET01PYmpl
Y3ROYW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0dXM6OnZpcnR1
YWxIYXNQZW5kaW5nQWN0aXZpdHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVybWlzc2lv
blN0YXR1czo6ZXZlbnRMaXN0ZW5lcnNEaWRDaGFuZ2UpOgorICAgICAgICAqIE1vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQ
ZXJtaXNzaW9uczo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpQZXJt
aXNzaW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJtaXNzaW9uczo6bmF2aWdhdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OlBlcm1pc3Npb25zOjpxdWVyeSk6CisgICAgICAgICogTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25zLmlkbDogQWRkZWQuCisgICAgICAgICogU291cmNlcy50eHQ6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBlcm1pc3Npb25Db250cm9sbGVyKToK
KyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0
b3J5LmluOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpwZXJtaXNzaW9uQ29udHJvbGxlcik6
CisgICAgICAgICogZG9tL1Rhc2tTb3VyY2UuaDoKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGll
bnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhZ2VDb25maWd1cmF0aW9uV2l0aEVtcHR5Q2xp
ZW50cyk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1fcGVy
bWlzc2lvbkNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6cGVybWlzc2lvbkNv
bnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6bV9odHRwc1VwZ3JhZGVFbmFibGVkKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1
cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29u
ZmlndXJhdGlvbik6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oOgorCiAyMDIx
LTA4LTI1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgQ3Jhc2ggaW4gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnJlc2hhcGVEaXNwbGF5QnVm
ZmVyQmFja2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCA0MjQxYjJlNmZhNzg1NGYxNWZkMzNjNmNhOWM3ZmViMzdi
YzFkYjIxLi45MjJkNmVhMWI0ZDhiNmE3Y2Y2Njc1YzJlZTNlMzZmNzZhZDU2MzhhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM0IEBACisyMDIxLTA4LTMwICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBzdHVicyBmb3IgUGVybWlzc2lvbnMgQVBJCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzMzkKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzgyNDQyMjA1PgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1
bWV6LgorCisgICAgICAgIFNldCB1cCBiYXNpYyBpbmZyYXN0cnVjdHVyZSBvZiBwZXJtaXNzaW9u
IGdldHRpbmcgYW5kIHNldHRpbmcuCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpyZXF1ZXN0UGVybWlzc2lvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAg
ICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6V2ViUGVybWlzc2lvbkNv
bnRyb2xsZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cXVl
cnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6cmVxdWVzdCk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25Db250cm9sbGVyOjpxdWVyeUNhY2hlKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnVwZGF0ZUNhY2hlKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnRyeVByb2Nlc3NpbmdS
ZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OmFkZE9i
c2VydmVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnJlbW92
ZU9ic2VydmVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnBl
cm1pc3Npb25DaGFuZ2VkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlBlcm1pc3Npb25Db250cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV9hcHBIaWdobGlnaHRzVmlzaWJs
ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0
b3JNYWMuaDoKKwogMjAyMS0wOC0yNiAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBz
b255LmNvbT4KIAogICAgICAgICBbY3VybF0gUkVHUkVTU0lPTihyMjgxMTU4KTogZmV0Y2goJ2h0
dHA6Ly9sb2NhbGhvc3QvJykgZnJvbSBhYm91dDpibGFuayBkb2Vzbid0IGVtaXQgdGhlIGNvbnNv
bGUgZXJyb3IgbWVzc2FnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDQ1YTU0ODZl
MDU4MDVkOTdiYzFlNDhiNDRmOTNkYTMwMzI4YTZhMWQuLmYwZDc5MmUzMWJkNmIzNzhlNDIyOWM0
NTMxMzA5Yjg3MWQ3MDZhMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAyMS0wOC0zMCAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKwor
ICAgICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS84MjQ0MjIwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAg
ICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5p
dGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKyAgICAgICAgKC1bV2ViVmll
dyBpbml0U2ltcGxlSFRNTERvY3VtZW50V2l0aFN0eWxlOmZyYW1lOnByZWZlcmVuY2VzOmdyb3Vw
TmFtZTpdKToKKwogMjAyMS0wOC0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIFtXSzJdIEltcGxlbWVudCBwcm9jZXNzLXN3YXBwaW5nIGJhc2VkIG9uIENyb3Nz
LU9yaWdpbi1PcGVuZXItUG9saWN5IEhUVFAgaGVhZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VM
b2cKaW5kZXggZTI4MTUxMDI5OGE4YzczNjQxZGM0MDQ5NTY5N2EyZGY0NWE1MTNjYS4uNzJlODU2
MjEyZjI1NDc3NTJiZTM3MTQzNmE0NmEzYTk3Mzc1MGExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA4LTMwICBTaWh1aSBMaXUgIDxzaWh1aV9s
aXVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdHVicyBmb3IgUGVybWlzc2lvbnMgQVBJCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzMzkKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgyNDQyMjA1PgorCisgICAgICAgIFJldmlld2VkIGJ5IENo
cmlzIER1bWV6LgorCisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpp
bml0V2l0aEZyYW1lKToKKwogMjAyMS0wOC0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtXSzJdIEltcGxlbWVudCBwcm9jZXNzLXN3YXBwaW5nIGJhc2VkIG9u
IENyb3NzLU9yaWdpbi1PcGVuZXItUG9saWN5IEhUVFAgaGVhZGVyCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFt
bCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1l
bnRhbC55YW1sCmluZGV4IDE4NWE1YWMwZjQ1NGM3NmMwMzQ3OTJhZDE4NTc2MWZjY2E2OTQ5OTEu
LjU1NTQ2MDBkYmM2NjU4ZmExY2FiMmQwNThjZDUzNWRhZjUyOTMxYzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55
YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4
cGVyaW1lbnRhbC55YW1sCkBAIC04ODEsNiArODgxLDE4IEBAIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmdTZW5zaXRpdmVQcm9wZXJ0aWVzRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVm
YXVsdDogZmFsc2UKIAorUGVybWlzc2lvbnNBUElFbmFibGVkOgorICB0eXBlOiBib29sCisgIGh1
bWFuUmVhZGFibGVOYW1lOiAiUGVybWlzc2lvbnMgQVBJIgorICBodW1hblJlYWRhYmxlRGVzY3Jp
cHRpb246ICJFbmFibGUgUGVybWlzc2lvbnMgQVBJIgorICBkZWZhdWx0VmFsdWU6CisgICAgV2Vi
S2l0TGVnYWN5OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAgICBkZWZh
dWx0OiBmYWxzZQorICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudERlYnVnTW9kZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50IERlYnVnIE1vZGUiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CmluZGV4IGJiYjg0MmE1MzlhMTA4N2M5ZTFkYjQ2M2QwMTlkZDJiMTIzMTQy
YzkuLjA3ZTVlMDU1OGY2ZGRkNDExZWM0Y2Y1OTZkZTM0M2Y0ODNjMDk3N2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CkBAIC00OCw2ICs0OCw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfSU5DTFVERV9E
SVJFQ1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1
dGlscyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9ub3RpZmljYXRpb25zIgogICAgICIk
e1dFQkNPUkVfRElSfS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0IgorICAgICIke1dFQkNPUkVfRElS
fS9Nb2R1bGVzL3Blcm1pc3Npb25zIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3BpY3R1
cmVpbnBpY3R1cmUiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGx1Z2lucyIKICAgICAi
JHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9yZW1vdGVwbGF5YmFjayIKQEAgLTIwMSw2ICsyMDIsNyBA
QCBzZXQoV2ViQ29yZV9JRExfSU5DTFVERVMKICAgICBNb2R1bGVzL21vZGVsLWVsZW1lbnQKICAg
ICBNb2R1bGVzL25vdGlmaWNhdGlvbnMKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0CisgICAg
TW9kdWxlcy9wZXJtaXNzaW9ucwogICAgIE1vZHVsZXMvc3BlZWNoCiAgICAgTW9kdWxlcy9zdHJl
YW1zCiAgICAgTW9kdWxlcy93ZWJhdWRpbwpAQCAtNDYwLDYgKzQ2MiwxMyBAQCBzZXQoV2ViQ29y
ZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNo
aXBwaW5nVHlwZS5pZGwKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRWYWxpZGF0
aW9uRXJyb3JzLmlkbAogCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlz
c2lvbnMuaWRsCisgICAgTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5p
ZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmlkbAorICAgIE1vZHVs
ZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbAorICAgIE1vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvblN0YXR1cy5pZGwKKyAgICBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Np
b25zLmlkbAorCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50K1BpY3R1cmVJ
blBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50T3JTaGFk
b3dSb290K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9waWN0dXJlaW5waWN0dXJl
L0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggMzliMmIzMDA0ZTRjNTc5NDM3ZTY1YWNh
OTczMjdjNzhkNGQ3NDVkZS4uNTExYjUxMzEyMDBhYmVjODNiZTQ5MDdhN2JlNDE5MjNhNjJmMzY5
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
CkBAIC0zODgsNiArMzg4LDEyIEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcGF5bWVudHJlcXVl
c3QvUGF5bWVudFJlc3BvbnNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9QYXltZW50U2hpcHBpbmdPcHRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L1BheW1lbnRTaGlwcGluZ1R5cGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzLmlkbAorJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsCiskKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwKKyQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmlkbAorJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmlkbAorJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVudCtQaWN0dXJlSW5QaWN0dXJl
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50T3JT
aGFkb3dSb290K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Bp
Y3R1cmVpbnBpY3R1cmUvRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuaWRsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDE5NjcxZjc1
MDZkNmE3OTM3NGM1ZWE0NWFjNzcxZmM3ZjFiNzk1MmIuLjliNDg0YWJhNDhjMmM1Y2ZjNjBhY2Vl
ZWMyOTNlYmNhOWMzOTcxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xMzc3LDYgKzEzNzcsOCBAQCAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvcitNZWRpYURldmljZXMuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRv
citNZWRpYURldmljZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFTZXNzaW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrTWVkaWFTZXNzaW9uLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1Blcm1p
c3Npb25zLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNOYXZpZ2F0b3IrUGVybWlzc2lvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViRHJpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IrV2ViRHJpdmVyLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yK1dl
YlhSLmNwcApAQCAtMTU4Myw2ICsxNTg1LDE2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlQ29uc3RyYWludHMuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmlvZGljV2F2ZUNvbnN0
cmFpbnRzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UGVyaW9kaWNXYXZlT3B0aW9ucy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUGVyaW9kaWNXYXZlT3B0aW9ucy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25EZXNjcmlwdG9yLmNwcAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJtaXNzaW9uRGVz
Y3JpcHRvci5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1Blcm1pc3Npb25OYW1lLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJtaXNzaW9uTmFtZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1Blcm1pc3Npb25TdGF0ZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvblN0YXRlLmgKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlzc2lvblN0YXR1cy5j
cHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVybWlz
c2lvblN0YXR1cy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1Blcm1pc3Npb25zLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJtaXNzaW9ucy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BpY3R1cmVJblBpY3R1cmVXaW5kb3cu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQbGF5YmFj
a0RpcmVjdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGQ2NGU2NWU4
NmU1ZTExNDI2NjdhOWUzODI3NjgzYTk2OTJmMjdhZjEuLmY5ZWU2NDI4YmEwYTU0ZDU0YzAyNTdh
YTZkNmEwMDAxZTJlNDIxYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzI0
LDYgKzMyNCwxMiBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50U2hpcHBpbmdPcHRpb24uaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFNoaXBwaW5nVHlwZS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVycm9y
cy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3IrUGVy
bWlzc2lvbnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvbkRlc2NyaXB0b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvbk5hbWUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lvbnMv
UGVybWlzc2lvblN0YXRlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Blcm1pc3Npb25z
L1Blcm1pc3Npb25TdGF0dXMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGVybWlzc2lv
bnMvUGVybWlzc2lvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGljdHVyZWlucGlj
dHVyZS9Eb2N1bWVudE9yU2hhZG93Um9vdCtQaWN0dXJlSW5QaWN0dXJlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnQrUGljdHVyZUluUGljdHVy
ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVyUGlj
dHVyZUluUGljdHVyZUV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFk
ZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCBlYjA3YjgwYzk5
MzNkNjlhOGMzNjMxOTE4Yzc1ZGJlNGUzN2E5MmI4Li43NmNlMGM2NjFmZWU4MzBkMTc2ZTM2MWY1
Nzk4NzM1YzdhZTFlMGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTEyOSw2ICsxMjksMTIgQEAg
c2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIE1vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uLmgKICAgICBNb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgKIAorICAgIE1vZHVsZXMvcGVybWlz
c2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbkRlc2NyaXB0b3IuaAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5h
bWUuaAorICAgIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk9ic2VydmVyLmgKKyAgICBN
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5oCisKICAgICBNb2R1bGVzL3BsdWdp
bnMvUGx1Z2luUmVwbGFjZW1lbnQuaAogICAgIE1vZHVsZXMvcGx1Z2lucy9Zb3VUdWJlUGx1Z2lu
UmVwbGFjZW1lbnQuaAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL05hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBiMTI3
ZTdmM2ExYzU2NjZjZDBkMGM4OGZlOTExZTk2YzgzNGY2NQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yK1Blcm1pc3Npb25zLmlk
bApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L3Blcm1pc3Npb25zLyNuYXZpZ2F0b3ItYW5kLXdvcmtlcm5hdmlnYXRvci1leHRlbnNpb24KKwor
WworICAgIEVuYWJsZWRCeVNldHRpbmc9UGVybWlzc2lvbnNBUEksCisgICAgSW1wbGVtZW50ZWRC
eT1OYXZpZ2F0b3JQZXJtaXNzaW9ucworXSBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3Igewor
ICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgUGVybWlzc2lvbnMgcGVybWlzc2lv
bnM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9O
YXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Np
b25zL05hdmlnYXRvclBlcm1pc3Npb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTFmNTU1ODg2ZDhlNzFh
MzQ5ZWU3NWJmM2M0MTZmMDJmMWM0N2FiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5jcHAKQEAgLTAsMCAr
MSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOYXZp
Z2F0b3JQZXJtaXNzaW9ucy5oIgorCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVkZSAi
UGVybWlzc2lvbnMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitOYXZpZ2F0b3JQZXJtaXNz
aW9uczo6TmF2aWdhdG9yUGVybWlzc2lvbnMoTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCisgICAgOiBt
X25hdmlnYXRvcihuYXZpZ2F0b3IpCit7Cit9CisKK1JlZlB0cjxQZXJtaXNzaW9ucz4gTmF2aWdh
dG9yUGVybWlzc2lvbnM6OnBlcm1pc3Npb25zKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAg
IHJldHVybiBOYXZpZ2F0b3JQZXJtaXNzaW9uczo6ZnJvbShuYXZpZ2F0b3IpLT5wZXJtaXNzaW9u
cygpOworfQorCitSZWZQdHI8UGVybWlzc2lvbnM+IE5hdmlnYXRvclBlcm1pc3Npb25zOjpwZXJt
aXNzaW9ucygpCit7CisgICAgaWYgKCFtX3Blcm1pc3Npb25zKQorICAgICAgICBtX3Blcm1pc3Np
b25zID0gUGVybWlzc2lvbnM6OmNyZWF0ZShtX25hdmlnYXRvcik7CisKKyAgICByZXR1cm4gbV9w
ZXJtaXNzaW9uczsKK30KKworTmF2aWdhdG9yUGVybWlzc2lvbnMqIE5hdmlnYXRvclBlcm1pc3Np
b25zOjpmcm9tKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIGF1dG8qIHN1cHBsZW1lbnQg
PSBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JQZXJtaXNzaW9ucyo+KFN1cHBsZW1lbnQ8TmF2aWdhdG9y
Pjo6ZnJvbSgmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpKSk7CisgICAgaWYgKCFzdXBwbGVt
ZW50KSB7CisgICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9IG1ha2VVbmlxdWU8TmF2aWdhdG9y
UGVybWlzc2lvbnM+KG5hdmlnYXRvcik7CisgICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVt
ZW50LmdldCgpOworICAgICAgICBwcm92aWRlVG8oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUo
KSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CisgICAgfQorCisgICAgcmV0dXJuIHN1cHBsZW1l
bnQ7Cit9CisKK2NvbnN0IGNoYXIqIE5hdmlnYXRvclBlcm1pc3Npb25zOjpzdXBwbGVtZW50TmFt
ZSgpCit7CisgICAgcmV0dXJuICJOYXZpZ2F0b3JQZXJtaXNzaW9ucyI7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlz
c2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MGE3MzlkYTcxNDQw
YzdhMzNiMjMyY2FlOTgzNTIwMTlmZGE0NDRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9OYXZpZ2F0b3JQZXJtaXNzaW9ucy5oCkBAIC0wLDAg
KzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlN1cHBsZW1l
bnRhYmxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yOworY2xh
c3MgUGVybWlzc2lvbnM7CisKK2NsYXNzIE5hdmlnYXRvclBlcm1pc3Npb25zIGZpbmFsIDogcHVi
bGljIFN1cHBsZW1lbnQ8TmF2aWdhdG9yPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CitwdWJsaWM6CisgICAgZXhwbGljaXQgTmF2aWdhdG9yUGVybWlzc2lvbnMoTmF2aWdhdG9yJik7
CisKKyAgICBzdGF0aWMgUmVmUHRyPFBlcm1pc3Npb25zPiBwZXJtaXNzaW9ucyhOYXZpZ2F0b3Im
KTsKKyAgICBSZWZQdHI8UGVybWlzc2lvbnM+IHBlcm1pc3Npb25zKCk7CisKK3ByaXZhdGU6Cisg
ICAgc3RhdGljIE5hdmlnYXRvclBlcm1pc3Npb25zKiBmcm9tKE5hdmlnYXRvciYpOworICAgIHN0
YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOworCisgICAgUmVmUHRyPFBlcm1pc3Np
b25zPiBtX3Blcm1pc3Npb25zOworICAgIE5hdmlnYXRvciYgbV9uYXZpZ2F0b3I7Cit9OworCit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Np
b25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25Db250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE3ZDNhYTY0ZWY2MWUzYjQ1ZTVjOTQ5MWU2
ZTkzNTUxMjUzNTMxYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGVybWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaApAQCAtMCwwICsxLDU1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJtaXNzaW9uU3RhdGUuaCIKKyNp
bmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQZXJtaXNzaW9u
T2JzZXJ2ZXI7CitzdHJ1Y3QgQ2xpZW50T3JpZ2luOworc3RydWN0IFBlcm1pc3Npb25EZXNjcmlw
dG9yOworCitjbGFzcyBQZXJtaXNzaW9uQ29udHJvbGxlciA6IHB1YmxpYyBUaHJlYWRTYWZlUmVm
Q291bnRlZDxQZXJtaXNzaW9uQ29udHJvbGxlcj4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgorICAgIHZpcnR1YWwgflBlcm1pc3Npb25Db250cm9sbGVyKCkgPSBkZWZh
dWx0OworICAgIHZpcnR1YWwgUGVybWlzc2lvblN0YXRlIHF1ZXJ5KENsaWVudE9yaWdpbiYmLCBQ
ZXJtaXNzaW9uRGVzY3JpcHRvciYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3QoQ2xp
ZW50T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlwdG9yJiYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoUGVybWlzc2lvblN0YXRlKT4mJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBhZGRPYnNlcnZl
cihQZXJtaXNzaW9uT2JzZXJ2ZXImKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlbW92ZU9ic2Vy
dmVyKFBlcm1pc3Npb25PYnNlcnZlciYpID0gMDsKK307CisKK2NsYXNzIER1bW15UGVybWlzc2lv
bkNvbnRyb2xsZXIgZmluYWwgOiBwdWJsaWMgUGVybWlzc2lvbkNvbnRyb2xsZXIgeworICAgIFBl
cm1pc3Npb25TdGF0ZSBxdWVyeShDbGllbnRPcmlnaW4mJiwgUGVybWlzc2lvbkRlc2NyaXB0b3Im
JikgZmluYWwgeyByZXR1cm4gUGVybWlzc2lvblN0YXRlOjpEZW5pZWQ7IH0KKyAgICB2b2lkIHJl
cXVlc3QoQ2xpZW50T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlwdG9yJiYsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoUGVybWlzc2lvblN0YXRlKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgZmluYWwg
eyBjb21wbGV0aW9uSGFuZGxlcihQZXJtaXNzaW9uU3RhdGU6OkRlbmllZCk7IH0KKyAgICB2b2lk
IGFkZE9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpIGZpbmFsIHsgfQorICAgIHZvaWQgcmVt
b3ZlT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgZmluYWwgeyB9Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1p
c3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bl
cm1pc3Npb25zL1Blcm1pc3Npb25EZXNjcmlwdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGU4NGIyZDRjNzdh
OThlOTViNjY0OThkYzRkMGIzOGE5MDg5ZTFlNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkRlc2NyaXB0b3IuaApAQCAtMCww
ICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJtaXNz
aW9uTmFtZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBQZXJtaXNzaW9uRGVz
Y3JpcHRvciB7CisgICAgUGVybWlzc2lvbk5hbWUgbmFtZTsKKworICAgIGJvb2wgb3BlcmF0b3I9
PShjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcikgY29uc3QgeyByZXR1cm4g
bmFtZSA9PSBkZXNjcmlwdG9yLm5hbWU7IH0KKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2
b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4g
c3RhdGljIHN0ZDo6b3B0aW9uYWw8UGVybWlzc2lvbkRlc2NyaXB0b3I+IGRlY29kZShEZWNvZGVy
Jik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiBpbmxpbmUgdm9pZCBQZXJtaXNzaW9u
RGVzY3JpcHRvcjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2Rl
ciA8PCBuYW1lOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGQ6Om9wdGlvbmFsPFBl
cm1pc3Npb25EZXNjcmlwdG9yPiBQZXJtaXNzaW9uRGVzY3JpcHRvcjo6ZGVjb2RlKERlY29kZXIm
IGRlY29kZXIpCit7CisgICAgUGVybWlzc2lvbkRlc2NyaXB0b3IgcmVzdWx0OworICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm5hbWUpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVz
Y3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Np
b25EZXNjcmlwdG9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZjM2YTMyYTJjY2NkMzM5OTM5YjdkZTgzNWRm
ZWRiYmY0ZjU3Y2M4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9uRGVzY3JpcHRvci5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy8jZGljdGRlZi1w
ZXJtaXNzaW9uZGVzY3JpcHRvcgorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9u
c0FQSSwKK10gZGljdGlvbmFyeSBQZXJtaXNzaW9uRGVzY3JpcHRvciB7CisgICAgcmVxdWlyZWQg
UGVybWlzc2lvbk5hbWUgbmFtZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Blcm1pc3Npb25zL1Blcm1pc3Npb25OYW1lLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQyODNmMTY5NDJjMDVk
MjMxYzNhOWZkYmJjZDJhYjdlNGY5ODg5MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaApAQCAtMCwwICsxLDcxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvRW51bVRyYWl0cy5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgUGVybWlzc2lvbk5hbWUgOiB1
aW50OF90IHsKKyAgICBBY2NlbGVyb21ldGVyLAorICAgIEJhY2tncm91bmRGZXRjaCwKKyAgICBC
bHVldG9vdGgsCisgICAgQ2FtZXJhLAorICAgIERpc3BsYXlDYXB0dXJlLAorICAgIEdlb2xvY2F0
aW9uLAorICAgIEd5cm9zY29wZSwKKyAgICBNYWduZXRvbWV0ZXIsCisgICAgTWljcm9waG9uZSwK
KyAgICBNaWRpLAorICAgIE5mYywKKyAgICBOb3RpZmljYXRpb25zLAorICAgIFNwZWFrZXJTZWxl
Y3Rpb24KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisK
K3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6UGVybWlzc2lvbk5hbWU+IHsK
KyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNz
aW9uTmFtZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6OkFjY2VsZXJvbWV0ZXIs
CisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpCYWNrZ3JvdW5kRmV0Y2gsCisgICAg
ICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpCbHVldG9vdGgsCisgICAgICAgIFdlYkNvcmU6
OlBlcm1pc3Npb25OYW1lOjpDYW1lcmEsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1l
OjpEaXNwbGF5Q2FwdHVyZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbk5hbWU6Okdlb2xv
Y2F0aW9uLAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6R3lyb3Njb3BlLAorICAg
ICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6TWFnbmV0b21ldGVyLAorICAgICAgICBXZWJD
b3JlOjpQZXJtaXNzaW9uTmFtZTo6TWljcm9waG9uZSwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlz
c2lvbk5hbWU6Ok1pZGksCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpOZmMsCisg
ICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25OYW1lOjpOb3RpZmljYXRpb25zLAorICAgICAgICBX
ZWJDb3JlOjpQZXJtaXNzaW9uTmFtZTo6U3BlYWtlclNlbGVjdGlvbgorICAgID47Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9QZXJtaXNzaW9uTmFtZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTU1YTcxZjgyOTVlMGQwMTk2
NTg2NGZkMTFiMDk5MzA1YWNhYmJmYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk5hbWUuaWRsCkBAIC0wLDAgKzEsNDMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVybWlzc2lvbnMvI2VudW1k
ZWYtcGVybWlzc2lvbm5hbWUKKworZW51bSBQZXJtaXNzaW9uTmFtZSB7CisgICAgLy8gRklYTUU6
IHVwZGF0ZSB0aGUgbGlzdCB0byBtYXRjaCBzcGVjIHdoZW4gbmV3IGZlYXR1cmVzIGFyZSBpbXBs
ZW1lbnRlZC4KKyAgICAiYWNjZWxlcm9tZXRlciIsCisgICAgImJhY2tncm91bmQtZmV0Y2giLAor
ICAgICJibHVldG9vdGgiLAorICAgICJjYW1lcmEiLAorICAgICJkaXNwbGF5LWNhcHR1cmUiLAor
ICAgICJnZW9sb2NhdGlvbiIsCisgICAgImd5cm9zY29wZSIsCisgICAgIm1hZ25ldG9tZXRlciIs
CisgICAgIm1pY3JvcGhvbmUiLAorICAgICJtaWRpIiwKKyAgICAibmZjIiwKKyAgICAibm90aWZp
Y2F0aW9ucyIsCisgICAgInNwZWFrZXItc2VsZWN0aW9uIgorfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbk9ic2VydmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25PYnNlcnZlci5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYxN2Q2ZGE1OTFkN2Q2NGFiZWFiOGNiY2JhNjNiYzFhMWYyNWIwYTgKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25P
YnNlcnZlci5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2luY2x1ZGUgIlBlcm1pc3Npb25TdGF0ZS5oIgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENsaWVudE9yaWdpbjsKK3N0cnVjdCBQZXJt
aXNzaW9uRGVzY3JpcHRvcjsKKworY2xhc3MgUGVybWlzc2lvbk9ic2VydmVyIDogcHVibGljIENh
bk1ha2VXZWFrUHRyPFBlcm1pc3Npb25PYnNlcnZlcj4geworcHVibGljOgorICAgIHZpcnR1YWwg
flBlcm1pc3Npb25PYnNlcnZlcigpID0gZGVmYXVsdDsKKworICAgIHZpcnR1YWwgdm9pZCBzdGF0
ZUNoYW5nZWQoUGVybWlzc2lvblN0YXRlKSA9IDA7CisgICAgdmlydHVhbCBjb25zdCBDbGllbnRP
cmlnaW4mIG9yaWdpbigpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGNvbnN0IFBlcm1pc3Npb25E
ZXNjcmlwdG9yJiBkZXNjcmlwdG9yKCkgY29uc3QgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9uU3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvblN0YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWNhZGY1MjAxZTBjMzdiMzBmNGI3MmVhMDgwNDA4
NTg0Yjg4ODQ4NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVy
bWlzc2lvbnMvUGVybWlzc2lvblN0YXRlLmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitlbnVtIGNsYXNzIFBlcm1pc3Npb25TdGF0ZSA6IHVpbnQ4X3QgeworICAg
IEdyYW50ZWQsCisgICAgRGVuaWVkLAorICAgIFByb21wdAorfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0
czxXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFs
dWVzPAorICAgICAgICBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUsCisgICAgICAgIFdlYkNvcmU6
OlBlcm1pc3Npb25TdGF0ZTo6R3JhbnRlZCwKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvblN0
YXRlOjpEZW5pZWQsCisgICAgICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0Cisg
ICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdGUuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0
ZDJmM2EyYTExNGE3YWRjYzVmYTQ3N2I4MDNmOWFhMGQ5NDcyMjYKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0ZS5pZGwK
QEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9w
ZXJtaXNzaW9ucy8jZW51bWRlZi1wZXJtaXNzaW9uc3RhdGUKKworZW51bSBQZXJtaXNzaW9uU3Rh
dGUgeworICAgICJncmFudGVkIiwKKyAgICAiZGVuaWVkIiwKKyAgICAicHJvbXB0IgorfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0
YXR1cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25T
dGF0dXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2YTBmMGJiYTk1YmQ0NTU1ZDE3YTJkZjdjOTY4NjJhYThm
MWMwYzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0dXMuY3BwCkBAIC0wLDAgKzEsOTcgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvblN0YXR1cy5oIgorCisjaW5j
bHVkZSAiQ2xpZW50T3JpZ2luLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJF
dmVudE5hbWVzLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRl
IDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9N
QUtFX0lTT19BTExPQ0FURURfSU1QTChQZXJtaXNzaW9uU3RhdHVzKTsKKworUmVmPFBlcm1pc3Np
b25TdGF0dXM+IFBlcm1pc3Npb25TdGF0dXM6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBjb250ZXh0LCBQZXJtaXNzaW9uU3RhdGUgc3RhdGUsIGNvbnN0IFBlcm1pc3Npb25EZXNjcmlw
dG9yJiBkZXNjcmlwdG9yKQoreworICAgIGF1dG8gc3RhdHVzID0gYWRvcHRSZWYoKm5ldyBQZXJt
aXNzaW9uU3RhdHVzKGNvbnRleHQsIHN0YXRlLCBkZXNjcmlwdG9yKSk7CisgICAgc3RhdHVzLT5z
dXNwZW5kSWZOZWVkZWQoKTsKKyAgICByZXR1cm4gc3RhdHVzOworfQorCitQZXJtaXNzaW9uU3Rh
dHVzOjpQZXJtaXNzaW9uU3RhdHVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFBl
cm1pc3Npb25TdGF0ZSBzdGF0ZSwgY29uc3QgUGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0
b3IpCisgICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCisgICAgLCBtX3N0YXRlKHN0YXRl
KQorICAgICwgbV9kZXNjcmlwdG9yKGRlc2NyaXB0b3IpCisgICAgLCBtX2NvbnRyb2xsZXIoY29u
dGV4dC5wZXJtaXNzaW9uQ29udHJvbGxlcigpKQoreworICAgIGF1dG8qIG9yaWdpbiA9IGNvbnRl
eHQuc2VjdXJpdHlPcmlnaW4oKTsKKyAgICBhdXRvIG9yaWdpbkRhdGEgPSBvcmlnaW4gPyBvcmln
aW4tPmRhdGEoKSA6IFNlY3VyaXR5T3JpZ2luRGF0YSB7IH07CisgICAgbV9vcmlnaW4gPSBDbGll
bnRPcmlnaW4geyBjb250ZXh0LnRvcE9yaWdpbigpLmRhdGEoKSwgV1RGTW92ZShvcmlnaW5EYXRh
KSB9OworCisgICAgaWYgKG1fY29udHJvbGxlcikKKyAgICAgICAgbV9jb250cm9sbGVyLT5hZGRP
YnNlcnZlcigqdGhpcyk7Cit9CisKK1Blcm1pc3Npb25TdGF0dXM6On5QZXJtaXNzaW9uU3RhdHVz
KCkKK3sKKyAgICBpZiAobV9jb250cm9sbGVyKQorICAgICAgICBtX2NvbnRyb2xsZXItPnJlbW92
ZU9ic2VydmVyKCp0aGlzKTsKK30KKwordm9pZCBQZXJtaXNzaW9uU3RhdHVzOjpzdGF0ZUNoYW5n
ZWQoUGVybWlzc2lvblN0YXRlIG5ld1N0YXRlKQoreworICAgIGlmIChtX3N0YXRlID09IG5ld1N0
YXRlKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3N0YXRlID0gbmV3U3RhdGU7CisgICAgcXVl
dWVUYXNrVG9EaXNwYXRjaEV2ZW50KCp0aGlzLCBUYXNrU291cmNlOjpQZXJtaXNzaW9uLCBFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8s
IEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7Cit9CisKK2NvbnN0IGNoYXIqIFBlcm1pc3Npb25T
dGF0dXM6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAoreworICAgIHJldHVybiAiUGVybWlz
c2lvblN0YXR1cyI7Cit9CisKK2Jvb2wgUGVybWlzc2lvblN0YXR1czo6dmlydHVhbEhhc1BlbmRp
bmdBY3Rpdml0eSgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2hhc0NoYW5nZUV2ZW50TGlzdGVuZXIp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCk7CisgICAgaWYgKGlzPERvY3VtZW50Pihjb250ZXh0KSkKKyAgICAgICAg
cmV0dXJuIGRvd25jYXN0PERvY3VtZW50PigqY29udGV4dCkuaGFzQnJvd3NpbmdDb250ZXh0KCk7
CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBQZXJtaXNzaW9uU3RhdHVzOjpldmVudExp
c3RlbmVyc0RpZENoYW5nZSgpCit7CisgICAgbV9oYXNDaGFuZ2VFdmVudExpc3RlbmVyID0gaGFz
RXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50KTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNz
aW9ucy9QZXJtaXNzaW9uU3RhdHVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0dXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNDUwMDllNjQyZDRkNTljM2EzZTQ3
YzgzNzU4MjE1N2IyZTNmYzFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uU3RhdHVzLmgKQEAgLTAsMCArMSw4MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisj
aW5jbHVkZSAiQ2xpZW50T3JpZ2luLmgiCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNs
dWRlICJQZXJtaXNzaW9uRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIlBlcm1pc3Npb25OYW1lLmgi
CisjaW5jbHVkZSAiUGVybWlzc2lvbk9ic2VydmVyLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvblN0
YXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xs
ZXI7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworCitjbGFzcyBQZXJtaXNzaW9uU3Rh
dHVzIGZpbmFsIDogcHVibGljIFBlcm1pc3Npb25PYnNlcnZlciwgcHVibGljIEFjdGl2ZURPTU9i
amVjdCwgcHVibGljIFJlZkNvdW50ZWQ8UGVybWlzc2lvblN0YXR1cz4sIHB1YmxpYyBFdmVudFRh
cmdldFdpdGhJbmxpbmVEYXRhICB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChQZXJtaXNz
aW9uU3RhdHVzKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBlcm1pc3Npb25TdGF0dXM+IGNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUGVybWlzc2lvblN0YXRlLCBjb25zdCBQZXJt
aXNzaW9uRGVzY3JpcHRvciYpOworICAgIH5QZXJtaXNzaW9uU3RhdHVzKCk7CisKKyAgICBQZXJt
aXNzaW9uU3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CisgICAgUGVybWlz
c2lvbk5hbWUgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVzY3JpcHRvci5uYW1lOyB9CisKKyAg
ICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDo6ZGVyZWY7CisK
KyAgICB1c2luZyBQZXJtaXNzaW9uT2JzZXJ2ZXI6OndlYWtQdHJGYWN0b3J5OworICAgIHVzaW5n
IFdlYWtWYWx1ZVR5cGUgPSBQZXJtaXNzaW9uT2JzZXJ2ZXI6OldlYWtWYWx1ZVR5cGU7CisKK3By
aXZhdGU6CisgICAgUGVybWlzc2lvblN0YXR1cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUGVy
bWlzc2lvblN0YXRlLCBjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYpOworCisgICAgLy8gUGVy
bWlzc2lvbk9ic2VydmVyCisgICAgdm9pZCBzdGF0ZUNoYW5nZWQoUGVybWlzc2lvblN0YXRlKSBm
aW5hbDsKKyAgICBjb25zdCBDbGllbnRPcmlnaW4mIG9yaWdpbigpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIG1fb3JpZ2luOyB9CisgICAgY29uc3QgUGVybWlzc2lvbkRlc2NyaXB0b3ImIGRlc2NyaXB0
b3IoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2Rlc2NyaXB0b3I7IH0KKworICAgIC8vIEFjdGl2
ZURPTU9iamVjdAorICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBm
aW5hbDsKKyAgICBib29sIHZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBmaW5hbDsK
KworICAgIC8vIEV2ZW50VGFyZ2V0CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CisgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZl
bnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiBQZXJtaXNzaW9uU3RhdHVz
RXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CisgICAgdm9pZCByZWZFdmVudFRhcmdldCgpIGZp
bmFsIHsgcmVmKCk7IH0KKyAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVm
KCk7IH0KKyAgICB2b2lkIGV2ZW50TGlzdGVuZXJzRGlkQ2hhbmdlKCkgZmluYWw7CisKKyAgICBQ
ZXJtaXNzaW9uU3RhdGUgbV9zdGF0ZTsKKyAgICBQZXJtaXNzaW9uRGVzY3JpcHRvciBtX2Rlc2Ny
aXB0b3I7CisgICAgQ2xpZW50T3JpZ2luIG1fb3JpZ2luOworICAgIFJlZlB0cjxQZXJtaXNzaW9u
Q29udHJvbGxlcj4gbV9jb250cm9sbGVyOworICAgIHN0ZDo6YXRvbWljPGJvb2w+IG1faGFzQ2hh
bmdlRXZlbnRMaXN0ZW5lcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvblN0YXR1cy5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25TdGF0dXMu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmRiNzgxNDJlNjk5ZTIwZTZiZTg2Y2M1Y2UyMDU2ZDFkZWI2OTJlZDAK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25TdGF0dXMuaWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworIAorLy8gaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL3Blcm1pc3Npb25zLyNwZXJtaXNzaW9uc3RhdHVzCisKK1sKKyAg
ICBBY3RpdmVET01PYmplY3QsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwK
KyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKQorXSBpbnRlcmZhY2UgUGVybWlzc2lvblN0YXR1
cyA6IEV2ZW50VGFyZ2V0IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgUGVybWlzc2lvblN0YXRl
IHN0YXRlOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQZXJtaXNzaW9uTmFtZSBuYW1lOworICAg
IGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jaGFuZ2U7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMDFj
YTNiMzc2NTliMzE2YzA3ZGUwNmIwMTZlYTE3ZjRjOTAzNjFlCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5jcHAKQEAgLTAs
MCArMSw5NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQ
ZXJtaXNzaW9ucy5oIgorCisjaW5jbHVkZSAiRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiRnJhbWUu
aCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIkpTUGVybWlz
c2lvbkRlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJKU1Blcm1pc3Npb25TdGF0dXMuaCIKKyNpbmNs
dWRlICJOYXZpZ2F0b3IuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUGVybWlzc2lv
bkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJQZXJtaXNzaW9uRGVzY3JpcHRvci5oIgorI2luY2x1
ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RG
X01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFBlcm1pc3Npb25zKTsKKworUmVmPFBlcm1pc3Npb25z
PiBQZXJtaXNzaW9uczo6Y3JlYXRlKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFBlcm1pc3Npb25zKG5hdmlnYXRvcikpOworfQorCitQZXJtaXNzaW9u
czo6UGVybWlzc2lvbnMoTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCisgICAgOiBtX25hdmlnYXRvciht
YWtlV2Vha1B0cihuYXZpZ2F0b3IpKQoreworICAgIGlmIChhdXRvIGNvbnRleHQgPSBuYXZpZ2F0
b3Iuc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQorICAgICAgICBtX2NvbnRyb2xsZXIgPSBjb250
ZXh0LT5wZXJtaXNzaW9uQ29udHJvbGxlcigpOworfQorCitOYXZpZ2F0b3IqIFBlcm1pc3Npb25z
OjpuYXZpZ2F0b3IoKQoreworICAgIHJldHVybiBtX25hdmlnYXRvci5nZXQoKTsKK30KKwordm9p
ZCBQZXJtaXNzaW9uczo6cXVlcnkoSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4gcGVybWlzc2lv
bkRlc2NyaXB0b3JWYWx1ZSwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxQZXJtaXNz
aW9uU3RhdHVzPj4mJiBwcm9taXNlKQoreworICAgIC8vIEZJWE1FOiBzdXBwb3J0IHBlcm1pc3Np
b25zIGluIFdvcmtlck5hdmlnYXRvci4KKyAgICBpZiAoIW1fY29udHJvbGxlcikgeworICAgICAg
ICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciB9KTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gY29udGV4dCA9IG1fbmF2aWdhdG9yID8gbV9u
YXZpZ2F0b3ItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSA6IG51bGxwdHI7CisgICAgaWYgKCFj
b250ZXh0IHx8ICFjb250ZXh0LT5nbG9iYWxPYmplY3QoKSkgeworICAgICAgICBwcm9taXNlLnJl
amVjdChFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIlRoZSBjb250ZXh0IGlzIGludmFs
aWQiX3MgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIXBlcm1pc3Npb25E
ZXNjcmlwdG9yVmFsdWUpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgRGF0
YUVycm9yLCAiVGhlIHBhcmFtZXRlciBpcyBpbnZhbGlkIl9zIH0pOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgSlNDOjpWTSYgdm0gPSBjb250ZXh0LT5nbG9iYWxPYmplY3QoKS0+dm0o
KTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgYXV0byBw
YXJhbWV0ZXJEZXNjcmlwdG9yID0gY29udmVydDxJRExEaWN0aW9uYXJ5PFBlcm1pc3Npb25EZXNj
cmlwdG9yPj4oKmNvbnRleHQtPmdsb2JhbE9iamVjdCgpLCBwZXJtaXNzaW9uRGVzY3JpcHRvclZh
bHVlLmdldCgpKTsKKyAgICBpZiAoVU5MSUtFTFkoc2NvcGUuZXhjZXB0aW9uKCkpKSB7CisgICAg
ICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEV4aXN0aW5nRXhjZXB0aW9uRXJyb3IgfSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvKiBvcmlnaW4gPSBjb250ZXh0LT5z
ZWN1cml0eU9yaWdpbigpOworICAgIGF1dG8gb3JpZ2luRGF0YSA9IG9yaWdpbiA/IG9yaWdpbi0+
ZGF0YSgpIDogU2VjdXJpdHlPcmlnaW5EYXRhIHsgfTsKKyAgICBhdXRvIHBlcm1pc3Npb25TdGF0
ZSA9IG1fY29udHJvbGxlci0+cXVlcnkoQ2xpZW50T3JpZ2luIHsgY29udGV4dC0+dG9wT3JpZ2lu
KCkuZGF0YSgpLCBvcmlnaW5EYXRhIH0sIFBlcm1pc3Npb25EZXNjcmlwdG9yIHsgcGFyYW1ldGVy
RGVzY3JpcHRvciB9KTsKKyAgICBwcm9taXNlLnJlc29sdmUoUGVybWlzc2lvblN0YXR1czo6Y3Jl
YXRlKCpjb250ZXh0LCBwZXJtaXNzaW9uU3RhdGUsIHBhcmFtZXRlckRlc2NyaXB0b3IpKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
ZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2ODU2MGRlMDg5MTM2YjRjMDE4
YTFjMThlZjc1ZjZjZDVkNGI1MmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKKyNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9TdHJvbmcuaD4KKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5j
bHVkZSA8d3RmL1dlYWtQdHIuaD4KKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBKU09iamVjdDsK
K30gLy8gbmFtZXNwYWNlIEpTQworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmln
YXRvcjsKK2NsYXNzIFBlcm1pc3Npb25Db250cm9sbGVyOworY2xhc3MgUGVybWlzc2lvblN0YXR1
czsKKwordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVk
OworCitjbGFzcyBQZXJtaXNzaW9ucyA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcm1pc3Npb25zPiB7
CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChQZXJtaXNzaW9ucyk7CitwdWJsaWM6CisgICAg
c3RhdGljIFJlZjxQZXJtaXNzaW9ucz4gY3JlYXRlKE5hdmlnYXRvciYpOworCisgICAgTmF2aWdh
dG9yKiBuYXZpZ2F0b3IoKTsKKyAgICB2b2lkIHF1ZXJ5KEpTQzo6U3Ryb25nPEpTQzo6SlNPYmpl
Y3Q+LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPFBlcm1pc3Npb25TdGF0dXM+PiYm
KTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBQZXJtaXNzaW9ucyhOYXZpZ2F0b3ImKTsKKwor
ICAgIFdlYWtQdHI8TmF2aWdhdG9yPiBtX25hdmlnYXRvcjsKKyAgICBSZWZQdHI8UGVybWlzc2lv
bkNvbnRyb2xsZXI+IG1fY29udHJvbGxlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lv
bnMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzY4YWE2MTJhNTA3YjM4MDU0MGE2NzBiZTY0NWFiNjZlZjQzODFkZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbnMuaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3cz
Yy5naXRodWIuaW8vcGVybWlzc2lvbnMvI3Blcm1pc3Npb25zLWludGVyZmFjZQorCitbCisgICAg
RW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSSwKKyAgICBHZW5lcmF0ZUlzUmVhY2hhYmxl
PVJlYWNoYWJsZUZyb21OYXZpZ2F0b3IsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwK
KyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKQorXSBpbnRlcmZhY2UgUGVybWlzc2lvbnMgewor
ICAgIFByb21pc2U8UGVybWlzc2lvblN0YXR1cz4gcXVlcnkob2JqZWN0IHBlcm1pc3Npb25EZXNj
KTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDZkNTlkYzNmZDg3ODRhYzM1NzYwYWRkZjVkOTIwNThk
MjU4NGQwN2IuLjg5MTA1NDk3MzE5YTZiMDRlMThmZTUyZTQ1MWVkNGVlOWE0ZjE1MjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CkBAIC0yMDMsNiArMjAzLDkgQEAgTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXlt
ZW50UmVxdWVzdC5jcHAKIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRh
dGVFdmVudC5jcHAKIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVdGlsaXRp
ZXMuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5jcHAKK01vZHVs
ZXMvcGVybWlzc2lvbnMvTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwCitNb2R1bGVzL3Blcm1pc3Np
b25zL1Blcm1pc3Npb25TdGF0dXMuY3BwCitNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25z
LmNwcAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50UGljdHVyZUluUGljdHVyZS5j
cHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9FbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5j
cHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9IVE1MVmlkZW9FbGVtZW50UGljdHVyZUluUGlj
dHVyZS5jcHAKQEAgLTMyNzIsNiArMzI3NSwxMSBAQCBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcAog
SlNQZXJpb2RpY1dhdmUuY3BwCiBKU1BlcmlvZGljV2F2ZUNvbnN0cmFpbnRzLmNwcAogSlNQZXJp
b2RpY1dhdmVPcHRpb25zLmNwcAorSlNQZXJtaXNzaW9uRGVzY3JpcHRvci5jcHAKK0pTUGVybWlz
c2lvbk5hbWUuY3BwCitKU1Blcm1pc3Npb25TdGF0ZS5jcHAKK0pTUGVybWlzc2lvblN0YXR1cy5j
cHAKK0pTUGVybWlzc2lvbnMuY3BwCiBKU1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuY3BwCiBKU1Bs
YXliYWNrRGlyZWN0aW9uLmNwcAogSlNQb2ludGVyRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDBhYTBlOGQyYjli
OTEwNzNiOTgzYTY4Y2Y1OWY3ZTY2YTJhNTM3NS4uMzZhZGVlZDQ5ZDEwZjg3YTYxODFkODMyODNl
Yjg3NjQ4NDhhZGRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMjg4MCw2ICsyODgwLDE0IEBACiAJCTkzQTgwNjE3MUUwM0I1
MUMwMDhBMUYyNiAvKiBMb25nUmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzQTgwNjEzMUUwM0I1MUMwMDhBMUYyNiAvKiBMb25nUmFuZ2UuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0E4MDYx
RTFFMDNCNTg1MDA4QTFGMjYgLyogSlNEb3VibGVSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBODA2MUExRTAzQjU4NTAwOEExRjI2IC8qIEpT
RG91YmxlUmFuZ2UuaCAqLzsgfTsKIAkJOTNBODA2MjAxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9u
Z1JhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
M0E4MDYxQzFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuaCAqLzsgfTsKKwkJOTNCMEE2
NTMyNkNERDE0MTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY0QTI2Q0REMTNFMDBBQTIx
RTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuaCAqLzsgfTsKKwkJOTNCMEE2NTQyNkNERDE0MTAw
QUEyMUU0IC8qIFBlcm1pc3Npb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5M0IwQTY0QjI2Q0REMTNFMDBBQTIxRTQgLyogUGVybWlzc2lvbnMuaCAq
LzsgfTsKKwkJOTNCMEE2NTYyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjBBNjREMjZD
REQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmggKi87IH07CisJCTkzQjBBNjU3MjZD
REQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMEE2NEUyNkNERDEzRjAwQUEyMUU0IC8q
IFBlcm1pc3Npb25EZXNjcmlwdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJOTNCMEE2NTkyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25O
YW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0Iw
QTY1MDI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5M0IwQTY1QjI2Q0REMTQxMDBBQTIx
RTQgLyogUGVybWlzc2lvblN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5M0IwQTY1MjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNC
MEE2NzAyNkQ0QjUzOTAwQUEyMUU0IC8qIFBlcm1pc3Npb25Db250cm9sbGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY2OTI2RDQ0QjdGMDBB
QTIxRTQgLyogUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5M0IwQTY3QTI2RDZBNEU5MDBBQTIxRTQgLyogUGVy
bWlzc2lvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5M0IwQTY2RjI2RDRCNTI5MDBBQTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNCMkQ4
MTYwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IyRDgxNTBGOTkyMEQyMDA2QUU2QjIg
LyogU3VkZGVuVGVybWluYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk5M0IzOEVDMzI1ODIxREI0MDAxOThFNjMgLyogV2ViU3BlZWNoUmVj
b2duaXplclRhc2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzQjM4RUJBMjU4MjE5M0IwMDE5OEU2MyAvKiBXZWJTcGVlY2hSZWNvZ25pemVyVGFzay5o
ICovOyB9OwogCQk5M0IzOEVDNDI1ODIxREI3MDAxOThFNjMgLyogV2ViU3BlZWNoUmVjb2duaXpl
clRhc2tNb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5M0IzOEVCQjI1ODIxOTNEMDAxOThFNjMgLyogV2ViU3BlZWNoUmVjb2duaXplclRhc2tNb2Nr
LmggKi87IH07CkBAIC0xMTcwMSw2ICsxMTcwOSwyMyBAQAogCQk5M0E4MDYxQTFFMDNCNTg1MDA4
QTFGMjYgLyogSlNEb3VibGVSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0RvdWJsZVJhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQTgwNjFC
MUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0xvbmdSYW5nZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkzQTgwNjFDMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0xvbmdSYW5nZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk5M0IwQTY0NDI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRl
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9uU3RhdGUuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0NTI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlz
c2lvbkRlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcm1pc3Npb25EZXNj
cmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDYyNkNEQzVC
NzAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQ
ZXJtaXNzaW9uTmFtZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjQ3
MjZDREM1QjcwMEFBMjFFNCAvKiBOYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9ICJOYXZpZ2F0b3IrUGVybWlzc2lvbnMuaWRsIjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NDgyNkNEQzVCNzAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTkzQjBBNjQ5MjZDREM1QjgwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3Rh
dHVzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJtaXNzaW9uU3RhdHVzLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NEEyNkNERDEzRTAwQUEyMUU0IC8qIE5h
dmlnYXRvclBlcm1pc3Npb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5h
dmlnYXRvclBlcm1pc3Npb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBB
NjRCMjZDREQxM0UwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk5M0IwQTY0QzI2Q0REMTNFMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlzc2lvbnMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmF2aWdhdG9yUGVybWlzc2lvbnMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0RDI2Q0REMTNGMDBBQTIx
RTQgLyogUGVybWlzc2lvblN0YXR1cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQZXJtaXNzaW9uU3RhdHVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBB
NjRFMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uRGVzY3JpcHRvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uRGVzY3JpcHRvci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY0RjI2Q0REMTQwMDBBQTIxRTQgLyogUGVybWlzc2lv
blN0YXR1cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJtaXNz
aW9uU3RhdHVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NTAyNkNE
RDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25OYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFBlcm1pc3Npb25OYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTkzQjBBNjUxMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJtaXNzaW9ucy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJtaXNzaW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTkzQjBBNjUyMjZDREQxNDEwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3Rh
dGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVybWlzc2lvblN0YXRlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjY5MjZENDRCN0YwMEFBMjFFNCAv
KiBQZXJtaXNzaW9uQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJtaXNzaW9uQ29udHJv
bGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0IwQTY2RjI2RDRCNTI5MDBB
QTIxRTQgLyogUGVybWlzc2lvbk9ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcm1pc3Npb25P
YnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0IyRDgxNTBGOTkyMEQy
MDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU3VkZGVuVGVybWluYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTNCMkQ4MTcwRjk5MjBFRTAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3VkZGVuVGVybWluYXRpb24ubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjM4RUI4MjU4MjE4OTkwMDE5OEU2MyAv
KiBTcGVlY2hSZWNvZ25pemVyQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBTcGVlY2hSZWNvZ25pemVyQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yMzE4NSw2ICsyMzIxMCwzMCBAQAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTkzQjBBNjQyMjZDREM1NzQwMEFBMjFFNCAvKiBw
ZXJtaXNzaW9ucyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJ
CQkJOTNCMEE2NDcyNkNEQzVCNzAwQUEyMUU0IC8qIE5hdmlnYXRvcitQZXJtaXNzaW9ucy5pZGwg
Ki8sCisJCQkJOTNCMEE2NEMyNkNERDEzRTAwQUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25z
LmNwcCAqLywKKwkJCQk5M0IwQTY0QTI2Q0REMTNFMDBBQTIxRTQgLyogTmF2aWdhdG9yUGVybWlz
c2lvbnMuaCAqLywKKwkJCQk5M0IwQTY2OTI2RDQ0QjdGMDBBQTIxRTQgLyogUGVybWlzc2lvbkNv
bnRyb2xsZXIuaCAqLywKKwkJCQk5M0IwQTY0RTI2Q0REMTNGMDBBQTIxRTQgLyogUGVybWlzc2lv
bkRlc2NyaXB0b3IuaCAqLywKKwkJCQk5M0IwQTY0NTI2Q0RDNUI2MDBBQTIxRTQgLyogUGVybWlz
c2lvbkRlc2NyaXB0b3IuaWRsICovLAorCQkJCTkzQjBBNjUwMjZDREQxNDAwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9uTmFtZS5oICovLAorCQkJCTkzQjBBNjQ2MjZDREM1QjcwMEFBMjFFNCAvKiBQZXJt
aXNzaW9uTmFtZS5pZGwgKi8sCisJCQkJOTNCMEE2NkYyNkQ0QjUyOTAwQUEyMUU0IC8qIFBlcm1p
c3Npb25PYnNlcnZlci5oICovLAorCQkJCTkzQjBBNjUxMjZDREQxNDAwMEFBMjFFNCAvKiBQZXJt
aXNzaW9ucy5jcHAgKi8sCisJCQkJOTNCMEE2NEIyNkNERDEzRTAwQUEyMUU0IC8qIFBlcm1pc3Np
b25zLmggKi8sCisJCQkJOTNCMEE2NDgyNkNEQzVCNzAwQUEyMUU0IC8qIFBlcm1pc3Npb25zLmlk
bCAqLywKKwkJCQk5M0IwQTY1MjI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvblN0YXRlLmgg
Ki8sCisJCQkJOTNCMEE2NDQyNkNEQzVCNjAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0ZS5pZGwg
Ki8sCisJCQkJOTNCMEE2NEYyNkNERDE0MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuY3Bw
ICovLAorCQkJCTkzQjBBNjREMjZDREQxM0YwMEFBMjFFNCAvKiBQZXJtaXNzaW9uU3RhdHVzLmgg
Ki8sCisJCQkJOTNCMEE2NDkyNkNEQzVCODAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaWRs
ICovLAorCQkJKTsKKwkJCXBhdGggPSBwZXJtaXNzaW9uczsKKwkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CisJCX07CiAJCTkzQjM4RUI2MjU4MjE4MzMwMDE5OEU2MyAvKiBjb2NvYSAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0yMzc5MCw2ICsyMzgzOSw3
IEBACiAJCQkJNzFENkFBMzkxREE0RUFGNzAwQjIzOTY5IC8qIG1vZGVybi1tZWRpYS1jb250cm9s
cyAqLywKIAkJCQkzMzNGNzAzRDBGQjQ5QzE2MDA4RTEyQTYgLyogbm90aWZpY2F0aW9ucyAqLywK
IAkJCQlBMUY3NkIwRTFGNDRDMENGMDAxNEMzMTggLyogcGF5bWVudHJlcXVlc3QgKi8sCisJCQkJ
OTNCMEE2NDIyNkNEQzU3NDAwQUEyMUU0IC8qIHBlcm1pc3Npb25zICovLAogCQkJCTFERUYwNkEy
MjMzQzMyREIwMEVFMjI4RCAvKiBwaWN0dXJlaW5waWN0dXJlICovLAogCQkJCTA3MkFFMURFMTgz
QzA1MTMwMDBBNTk4OCAvKiBwbHVnaW5zICovLAogCQkJCUNEQzMxMkUwMjJGQ0QwQjAwMDEyMDRF
QyAvKiByZW1vdGVwbGF5YmFjayAqLywKQEAgLTMzNzU3LDYgKzMzODA3LDcgQEAKIAkJCQk2QjUw
N0EyNDIzNEJGMzQxMDBCRTdDNjIgLyogTmF2aWdhdG9ySXNMb2dnZWRJbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNUVBNzI1RDYxQUNBQkQ1NzAwRUFEMTdCIC8qIE5hdmlnYXRvck1lZGlhRGV2aWNl
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc3QkE1NzIyNjBGQTAxNDAwNzJGMTlGIC8qIE5hdmln
YXRvck1lZGlhU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTMyNkNERDE0MTAw
QUEyMUU0IC8qIE5hdmlnYXRvclBlcm1pc3Npb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTZF
NTlERjFERjAxMjhEMDA2NjEyQjkgLyogTmF2aWdhdG9yV2ViRHJpdmVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMUVFOEI3ODI0MTMxOTFGMDBFNzk0RDYgLyogTmF2aWdhdG9yV2ViWFIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCThBMzA5QzlGMTIzOTUwQkUwMENCOTIwNCAvKiBOZXN0aW5nTGV2ZWxJ
bmNyZW1lbnRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzk1Niw2ICszNDAwNywxMyBAQAogCQkJ
CUZENTgxRkI1MTUyMEY5M0IwMDNBN0E3NSAvKiBQZXJpb2RpY1dhdmUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUU3NTVFODkyMjRDNzQzNEIwMDlGN0MyMyAvKiBQZXJpb2RpY1dhdmVDb25zdHJhaW50
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTc1NUU4OTkyNEM3NDYxRDAwOUY3QzIzIC8qIFBlcmlv
ZGljV2F2ZU9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjcwMjZENEI1MzkwMEFB
MjFFNCAvKiBQZXJtaXNzaW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2
NTcyNkNERDE0MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25EZXNjcmlwdG9yLmggaW4gSGVhZGVycyAq
LywKKwkJCQk5M0IwQTY1OTI2Q0REMTQxMDBBQTIxRTQgLyogUGVybWlzc2lvbk5hbWUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTkzQjBBNjdBMjZENkE0RTkwMEFBMjFFNCAvKiBQZXJtaXNzaW9uT2Jz
ZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzQjBBNjU0MjZDREQxNDEwMEFBMjFFNCAvKiBQ
ZXJtaXNzaW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NUIyNkNERDE0MTAwQUEyMUU0
IC8qIFBlcm1pc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNCMEE2NTYyNkNERDE0
MTAwQUEyMUU0IC8qIFBlcm1pc3Npb25TdGF0dXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RDVE
QzJFMEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMURCQzFCNTYyMzQ3QjNEMjAwQjkwMUFGIC8qIFBpY3R1cmVJblBp
Y3R1cmVPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUQyQzgyQjcyMzZBM0Y2QTAwNTVE
NkM1IC8qIFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBmMTgx
Yzc5NmQ2NTBjYzg2ZmUzZjA4YTcyMDA3YTZlZGMyZWZiYzc4Li44NTFhMjE0YzlhNDg3ZmY2OGQx
NmJlN2RkOGZiYjUyMDg4N2ViOTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xNTQsNiArMTU0LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIG1hY3JvKE1vY2tSVENSdHBUcmFuc2Zvcm0pIFwKICAgICBtYWNybyhOYXZp
Z2F0b3JDcmVkZW50aWFscykgXAogICAgIG1hY3JvKE5hdmlnYXRvck1lZGlhRGV2aWNlcykgXAor
ICAgIG1hY3JvKE5hdmlnYXRvclBlcm1pc3Npb25zKSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yVXNl
ck1lZGlhKSBcCiAgICAgbWFjcm8oT2ZmbGluZUF1ZGlvQ29udGV4dCkgXAogICAgIG1hY3JvKE9m
ZnNjcmVlbkNhbnZhcykgXApAQCAtMTgyLDYgKzE4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBtYWNybyhQZXJmb3JtYW5jZVBhaW50VGltaW5nKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlU2VydmVyVGltaW5nKSBc
CisgICAgbWFjcm8oUGVybWlzc2lvbkRlc2NyaXB0b3IpIFwKKyAgICBtYWNybyhQZXJtaXNzaW9u
U3RhdHVzKSBcCisgICAgbWFjcm8oUGVybWlzc2lvbnMpIFwKICAgICBtYWNybyhQb2ludGVyRXZl
bnQpIFwKICAgICBtYWNybyhQdWJsaWNLZXlDcmVkZW50aWFsKSBcCiAgICAgbWFjcm8oUmVzaXpl
T2JzZXJ2ZXIpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDY1Y2ZiZjhiNzk1ZDYzZDNj
OTk5ZDAxZDliMzg0YjIwNTAwOWQ0NjQuLjQ1NDE1NmFjOWVmYTc1MjIyNWNjYjFhOWM0ZGYzNmQx
Yjc1ZDM5OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMzU1NCw2ICszNTU0LDExIEBA
IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBEb2N1bWVudDo6aWRiQ29ubmVjdGlvblBy
b3h5KCkKICAgICByZXR1cm4gbV9pZGJDb25uZWN0aW9uUHJveHkuZ2V0KCk7CiB9CiAKK1JlZlB0
cjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gRG9jdW1lbnQ6OnBlcm1pc3Npb25Db250cm9sbGVyKCkK
K3sKKyAgICByZXR1cm4gcGFnZSgpID8gJnBhZ2UoKS0+cGVybWlzc2lvbkNvbnRyb2xsZXIoKSA6
IG51bGxwdHI7Cit9CisKIFNvY2tldFByb3ZpZGVyKiBEb2N1bWVudDo6c29ja2V0UHJvdmlkZXIo
KQogewogICAgIHJldHVybiBtX3NvY2tldFByb3ZpZGVyLmdldCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAppbmRleCA0YzI5NWQ0NThmMWFlMDYxNzlhNTQ2Yjk0ZGIzODA3NzI2NTRjMWM1Li4zZDQ2NWIz
YzQ4YjIxMjI4ZTZkYWExOGE3OTJkMmQzMzRmOGUxOTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApA
QCAtNzAxLDYgKzcwMSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2FibGVXZWJBc3NlbWJseShj
b25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkgZmluYWw7CiAKICAgICBJREJDbGllbnQ6OklEQkNv
bm5lY3Rpb25Qcm94eSogaWRiQ29ubmVjdGlvblByb3h5KCkgZmluYWw7CisgICAgUmVmUHRyPFBl
cm1pc3Npb25Db250cm9sbGVyPiBwZXJtaXNzaW9uQ29udHJvbGxlcigpIGZpbmFsOwogICAgIFNv
Y2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcigpIGZpbmFsOwogICAgIFJlZlB0cjxSVENEYXRh
Q2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uPiBjcmVhdGVSVENEYXRhQ2hhbm5lbFJlbW90
ZUhhbmRsZXJDb25uZWN0aW9uKCkgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXRGYWN0b3J5LmluCmluZGV4IDVlNThmMTExNjY3ZWY2MjEwZDUzMTEwZDdiNTRhODAyYzg0Mzk1
ZDguLjAxM2NlZDA5NDZmZmNkNTI1OWZhMjUwYjE2MDNhMThlNDU5ZTQ1OTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgpAQCAtMzUsNiArMzUsNyBAQCBPZmZzY3Jl
ZW5DYW52YXMgY29uZGl0aW9uYWw9T0ZGU0NSRUVOX0NBTlZBUwogUGF5bWVudFJlcXVlc3QgY29u
ZGl0aW9uYWw9UEFZTUVOVF9SRVFVRVNUCiBQYXltZW50UmVzcG9uc2UgY29uZGl0aW9uYWw9UEFZ
TUVOVF9SRVFVRVNUCiBQZXJmb3JtYW5jZQorUGVybWlzc2lvblN0YXR1cwogUGljdHVyZUluUGlj
dHVyZVdpbmRvdyBjb25kaXRpb25hbD1QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJCiBSZW1vdGVQbGF5
YmFjayBjb25kaXRpb25hbD1XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQKIFJUQ0RhdGFDaGFubmVs
IGNvbmRpdGlvbmFsPVdFQl9SVEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oCmluZGV4IGQ0YmI4ZTE5YWU3OGY3ZTgxYTZjYjYxZmI2ZTU1MjNjMTA0YzRkZGUu
LjFlY2JjMTM3OWI5YTVhNjg3Njg1NjJkZTgwNmE2M2I2ZDVmYzAxZDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtMjksNiArMjksNyBAQAogCiAj
aW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiRE9NVGltZXIuaCIKKyNpbmNs
dWRlICJQZXJtaXNzaW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlJUQ0RhdGFDaGFubmVsUmVt
b3RlSGFuZGxlckNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRlck9wdGlvbnMu
aCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllci5oIgpAQCAtMTE1
LDYgKzExNiw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZVdlYkFzc2VtYmx5
KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKSA9IDA7CiAKICAgICB2aXJ0dWFsIElEQkNsaWVu
dDo6SURCQ29ubmVjdGlvblByb3h5KiBpZGJDb25uZWN0aW9uUHJveHkoKSA9IDA7CisgICAgdmly
dHVhbCBSZWZQdHI8UGVybWlzc2lvbkNvbnRyb2xsZXI+IHBlcm1pc3Npb25Db250cm9sbGVyKCkg
eyByZXR1cm4gbnVsbHB0cjsgfQogCiAgICAgdmlydHVhbCBTb2NrZXRQcm92aWRlciogc29ja2V0
UHJvdmlkZXIoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UYXNrU291
cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGFza1NvdXJjZS5oCmluZGV4IDcxMzNmNjc4ZWEy
ZDk5MjY5NTE2MDIwODY0ZWYxM2Q0ZjNlZmQzOTguLjJkYTQ3YmFkNmM3M2E2YmE1YmYyODNiOGQz
NTJmNDBkMjFhZjAxNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UYXNrU291cmNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaApAQCAtMzksNiArMzksNyBA
QCBlbnVtIGNsYXNzIFRhc2tTb3VyY2UgOiB1aW50OF90IHsKICAgICBNaWNyb3Rhc2ssCiAgICAg
TmV0d29ya2luZywKICAgICBQZXJmb3JtYW5jZVRpbWVsaW5lLAorICAgIFBlcm1pc3Npb24sCiAg
ICAgUG9zdGVkTWVzc2FnZVF1ZXVlLAogICAgIFNwZWVjaCwKICAgICBVc2VySW50ZXJhY3Rpb24s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IDk2NGUyZGQxMjA3MDMz
MWE2NWNhMzQxYWM3MGU0YjI4NzQyMDBhMGQuLjU1Y2M0NmUyNTkxODQ2OWYzMWQ1NmMwNDk2ZTQz
ZGQ1NWVjZmQ1ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVu
dHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC02
Myw2ICs2Myw3IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VDb25maWd1cmF0
aW9uLmgiCiAjaW5jbHVkZSAiUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgiCisjaW5jbHVkZSAi
UGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJQbHVnaW5JbmZvUHJvdmlkZXIuaCIK
ICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXJDbGllbnQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9y
aWdpbkRhdGEuaCIKQEAgLTExOTMsNyArMTE5NCw4IEBAIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VD
b25maWd1cmF0aW9uV2l0aEVtcHR5Q2xpZW50cyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiAg
ICAgICAgIG1ha2VVbmlxdWVSZWY8RW1wdHlGcmFtZUxvYWRlckNsaWVudD4oKSwKICAgICAgICAg
bWFrZVVuaXF1ZVJlZjxEdW1teVNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+KCksCiAgICAgICAg
IG1ha2VVbmlxdWVSZWY8RW1wdHlNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCksCi0gICAgICAgIEVt
cHR5QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpjcmVhdGUoKQorICAgICAgICBFbXB0eUJyb2Fk
Y2FzdENoYW5uZWxSZWdpc3RyeTo6Y3JlYXRlKCksCisgICAgICAgIG1ha2VVbmlxdWVSZWY8RHVt
bXlQZXJtaXNzaW9uQ29udHJvbGxlcj4oKQogICAgIH07CiAKICAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8RW1wdHlDaHJvbWVDbGllbnQ+IGR1bW15Q2hyb21lQ2xpZW50OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5j
cHAKaW5kZXggZWVlNjhiNzdlMWU1ZmNlMWU1OWMzMjk0MzRhOWE4NjAwYjM2OTcxMC4uODYxMDc4
YmEwYmY2MTgzYjc3MTE0NWE3NGI0MWJlMDdkN2IwNTYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBA
IC05OSw2ICs5OSw3IEBACiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VMb2dnaW5nLmgiCiAjaW5jbHVk
ZSAiUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VNb25p
dG9yLmgiCisjaW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJQbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVNjcmVlbi5oIgog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgpAQCAtMzI1LDYgKzMyNiw3IEBAIFBhZ2U6
OlBhZ2UoUGFnZUNvbmZpZ3VyYXRpb24mJiBwYWdlQ29uZmlndXJhdGlvbikKICAgICAsIG1fbG9h
ZHNTdWJyZXNvdXJjZXMocGFnZUNvbmZpZ3VyYXRpb24ubG9hZHNTdWJyZXNvdXJjZXMpCiAgICAg
LCBtX3Nob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nKHBhZ2VDb25maWd1cmF0aW9u
LnNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nKQogICAgICwgbV9odHRwc1VwZ3Jh
ZGVFbmFibGVkKHBhZ2VDb25maWd1cmF0aW9uLmh0dHBzVXBncmFkZUVuYWJsZWQpCisgICAgLCBt
X3Blcm1pc3Npb25Db250cm9sbGVyKFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24ucGVybWlzc2lv
bkNvbnRyb2xsZXIpKQogewogICAgIHVwZGF0ZVRpbWVyVGhyb3R0bGluZ1N0YXRlKCk7CiAKQEAg
LTM2OTMsNCArMzY5NSw5IEBAIHZvaWQgUGFnZTo6cmVzZXRUZXh0UmVjb2duaXRpb25SZXN1bHRz
KCkKIAogI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKIAorUGVybWlzc2lvbkNvbnRy
b2xsZXImIFBhZ2U6OnBlcm1pc3Npb25Db250cm9sbGVyKCkKK3sKKyAgICByZXR1cm4gbV9wZXJt
aXNzaW9uQ29udHJvbGxlci5nZXQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuaAppbmRleCA5MjU1YmYzMTNjNjdkNzE0ODE1Y2Y3ODE1MjY2ZmZkODA1YjIyZjYwLi4z
YjFlMjY5MDU1NmRkNGYzZDE3YThlYjg1ZjI0ZDAwNDA4ODc0Mzc1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApA
QCAtMTMxLDYgKzEzMSw3IEBAIGNsYXNzIFBheW1lbnRDb29yZGluYXRvcjsKIGNsYXNzIFBlcmZv
cm1hbmNlTG9nZ2luZzsKIGNsYXNzIFBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudDsKIGNsYXNzIFBl
cmZvcm1hbmNlTW9uaXRvcjsKK2NsYXNzIFBlcm1pc3Npb25Db250cm9sbGVyOwogY2xhc3MgUGx1
Z2luRGF0YTsKIGNsYXNzIFBsdWdpbkluZm9Qcm92aWRlcjsKIGNsYXNzIFBsdWdpblZpZXdCYXNl
OwpAQCAtODcyLDYgKzg3Myw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNhY2hlVGV4dFJlY29nbml0
aW9uUmVzdWx0KGNvbnN0IEhUTUxFbGVtZW50JiwgY29uc3QgSW50UmVjdCYgY29udGFpbmVyUmVj
dCwgY29uc3QgVGV4dFJlY29nbml0aW9uUmVzdWx0Jik7CiAjZW5kaWYKIAorICAgIFdFQkNPUkVf
RVhQT1JUIFBlcm1pc3Npb25Db250cm9sbGVyJiBwZXJtaXNzaW9uQ29udHJvbGxlcigpOworCiBw
cml2YXRlOgogICAgIHN0cnVjdCBOYXZpZ2F0aW9uIHsKICAgICAgICAgUmVnaXN0cmFibGVEb21h
aW4gZG9tYWluOwpAQCAtMTE5NCw2ICsxMTk3LDggQEAgcHJpdmF0ZToKICAgICBjb25zdCBib29s
IG1faHR0cHNVcGdyYWRlRW5hYmxlZCB7IHRydWUgfTsKICAgICBtdXRhYmxlIE1lZGlhU2Vzc2lv
bkdyb3VwSWRlbnRpZmllciBtX21lZGlhU2Vzc2lvbkdyb3VwSWRlbnRpZmllcjsKIAorICAgIFVu
aXF1ZVJlZjxQZXJtaXNzaW9uQ29udHJvbGxlcj4gbV9wZXJtaXNzaW9uQ29udHJvbGxlcjsKKwog
I2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKICAgICAvLyBGSVhNRTogVGhlc2Ugc2hvdWxkIGJl
IHJlZmFjdG9yZWQgdG8gdXNlIGEgd2VhayBoYXNoIG1hcCBvZiBIVE1MRWxlbWVudCB0byBzdGQ6
OnBhaXI8VGV4dFJlY29nbml0aW9uUmVzdWx0LCBJbnRTaXplPi4KICAgICBWZWN0b3I8c3RkOjpw
YWlyPFdlYWtQdHI8SFRNTEVsZW1lbnQ+LCBzdGQ6OnBhaXI8VGV4dFJlY29nbml0aW9uUmVzdWx0
LCBJbnRSZWN0Pj4+IG1fdGV4dFJlY29nbml0aW9uUmVzdWx0c0J5RWxlbWVudDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKaW5kZXggNjc1ZTM2OWNjMWUyYzJiNzdk
OTlmZGQwOTEzNGIxOThmMGNmM2FmMy4uY2I1NjBmZDQxNGEyM2E3NmIyY2M3YjYwZWE1MDI5OTlh
OTgxY2M5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKQEAg
LTU5LDcgKzU5LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYWdlQ29uZmlndXJhdGlv
bjo6UGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVbmlxdWVSZWY8
RWRpdG9yQ2xpZW50PiYmIGVkaXRvckNsaWVudCwgUmVmPFNvY2tldFByb3ZpZGVyPiYmIHNvY2tl
dFByb3ZpZGVyLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYgbGliV2ViUlRDUHJvdmlk
ZXIsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4mJiBjYWNoZVN0b3JhZ2VQcm92aWRlciwgUmVm
PFVzZXJDb250ZW50UHJvdmlkZXI+JiYgdXNlckNvbnRlbnRQcm92aWRlciwgUmVmPEJhY2tGb3J3
YXJkQ2xpZW50PiYmIGJhY2tGb3J3YXJkQ2xpZW50LCBSZWY8Q29va2llSmFyPiYmIGNvb2tpZUph
ciwgVW5pcXVlUmVmPFByb2dyZXNzVHJhY2tlckNsaWVudD4mJiBwcm9ncmVzc1RyYWNrZXJDbGll
bnQsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNsaWVudD4mJiBsb2FkZXJDbGllbnRGb3JNYWluRnJh
bWUsIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiYmIHNwZWVjaFJlY29nbml0
aW9uUHJvdmlkZXIsIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYgbWVkaWFSZWNv
cmRlclByb3ZpZGVyLCBSZWY8QnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5PiYmIGJyb2FkY2FzdENo
YW5uZWxSZWdpc3RyeSkKK1BhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbihQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYgZWRpdG9yQ2xp
ZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJvdmlkZXIsIFVuaXF1ZVJlZjxMaWJX
ZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlciwgUmVmPENhY2hlU3RvcmFnZVByb3Zp
ZGVyPiYmIGNhY2hlU3RvcmFnZVByb3ZpZGVyLCBSZWY8VXNlckNvbnRlbnRQcm92aWRlcj4mJiB1
c2VyQ29udGVudFByb3ZpZGVyLCBSZWY8QmFja0ZvcndhcmRDbGllbnQ+JiYgYmFja0ZvcndhcmRD
bGllbnQsIFJlZjxDb29raWVKYXI+JiYgY29va2llSmFyLCBVbmlxdWVSZWY8UHJvZ3Jlc3NUcmFj
a2VyQ2xpZW50PiYmIHByb2dyZXNzVHJhY2tlckNsaWVudCwgVW5pcXVlUmVmPEZyYW1lTG9hZGVy
Q2xpZW50PiYmIGxvYWRlckNsaWVudEZvck1haW5GcmFtZSwgVW5pcXVlUmVmPFNwZWVjaFJlY29n
bml0aW9uUHJvdmlkZXI+JiYgc3BlZWNoUmVjb2duaXRpb25Qcm92aWRlciwgVW5pcXVlUmVmPE1l
ZGlhUmVjb3JkZXJQcm92aWRlcj4mJiBtZWRpYVJlY29yZGVyUHJvdmlkZXIsIFJlZjxCcm9hZGNh
c3RDaGFubmVsUmVnaXN0cnk+JiYgYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5LCBVbmlxdWVSZWY8
UGVybWlzc2lvbkNvbnRyb2xsZXI+JiYgcGVybWlzc2lvbkNvbnRyb2xsZXIpCiAgICAgOiBzZXNz
aW9uSUQoc2Vzc2lvbklEKQogICAgICwgZWRpdG9yQ2xpZW50KFdURk1vdmUoZWRpdG9yQ2xpZW50
KSkKICAgICAsIHNvY2tldFByb3ZpZGVyKFdURk1vdmUoc29ja2V0UHJvdmlkZXIpKQpAQCAtNzMs
NiArNzMsNyBAQCBQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24oUEFMOjpTZXNz
aW9uSUQgc2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQwogICAgICwgYnJvYWRjYXN0Q2hhbm5l
bFJlZ2lzdHJ5KFdURk1vdmUoYnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5KSkKICAgICAsIHNwZWVj
aFJlY29nbml0aW9uUHJvdmlkZXIoV1RGTW92ZShzcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyKSkK
ICAgICAsIG1lZGlhUmVjb3JkZXJQcm92aWRlcihXVEZNb3ZlKG1lZGlhUmVjb3JkZXJQcm92aWRl
cikpCisgICAgLCBwZXJtaXNzaW9uQ29udHJvbGxlcihXVEZNb3ZlKHBlcm1pc3Npb25Db250cm9s
bGVyKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmln
dXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCmluZGV4
IDBmMjU5ZDU2ZDNhMTQyYTE0ZTBlYzg1MTRlMGZkNWIyZmQyOTMwYTUuLmQ3NWI3MTA0YzM1MDM5
MWY1OGE5NjhmYWUyZTZlMDM1NDYxMTZhY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25m
aWd1cmF0aW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAgY2xhc3MgTGliV2ViUlRDUHJvdmlkZXI7CiBj
bGFzcyBNZWRpYVJlY29yZGVyUHJvdmlkZXI7CiBjbGFzcyBQYXltZW50Q29vcmRpbmF0b3JDbGll
bnQ7CiBjbGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQ7CitjbGFzcyBQZXJtaXNzaW9uQ29u
dHJvbGxlcjsKIGNsYXNzIFBsdWdpbkluZm9Qcm92aWRlcjsKIGNsYXNzIFByb2dyZXNzVHJhY2tl
ckNsaWVudDsKIGNsYXNzIFNvY2tldFByb3ZpZGVyOwpAQCAtNzQsNyArNzUsNyBAQCBjbGFzcyBT
cGVlY2hTeW50aGVzaXNDbGllbnQ7CiBjbGFzcyBQYWdlQ29uZmlndXJhdGlvbiB7CiAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUGFnZUNvbmZpZ3VyYXRpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihQQUw6
OlNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiwgUmVmPFNvY2tldFByb3ZpZGVy
PiYmLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYsIFJlZjxDYWNoZVN0b3JhZ2VQcm92
aWRlcj4mJiwgUmVmPFVzZXJDb250ZW50UHJvdmlkZXI+JiYsIFJlZjxCYWNrRm9yd2FyZENsaWVu
dD4mJiwgUmVmPENvb2tpZUphcj4mJiwgVW5pcXVlUmVmPFByb2dyZXNzVHJhY2tlckNsaWVudD4m
JiwgVW5pcXVlUmVmPEZyYW1lTG9hZGVyQ2xpZW50PiYmLCBVbmlxdWVSZWY8U3BlZWNoUmVjb2du
aXRpb25Qcm92aWRlcj4mJiwgVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4mJiwgUmVm
PEJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4mJik7CisgICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNv
bmZpZ3VyYXRpb24oUEFMOjpTZXNzaW9uSUQsIFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYsIFJl
ZjxTb2NrZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmLCBSZWY8
Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYsIFJlZjxVc2VyQ29udGVudFByb3ZpZGVyPiYmLCBSZWY8
QmFja0ZvcndhcmRDbGllbnQ+JiYsIFJlZjxDb29raWVKYXI+JiYsIFVuaXF1ZVJlZjxQcm9ncmVz
c1RyYWNrZXJDbGllbnQ+JiYsIFVuaXF1ZVJlZjxGcmFtZUxvYWRlckNsaWVudD4mJiwgVW5pcXVl
UmVmPFNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVy
UHJvdmlkZXI+JiYsIFJlZjxCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk+JiYsIFVuaXF1ZVJlZjxQ
ZXJtaXNzaW9uQ29udHJvbGxlcj4mJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgflBhZ2VDb25maWd1
cmF0aW9uKCk7CiAgICAgUGFnZUNvbmZpZ3VyYXRpb24oUGFnZUNvbmZpZ3VyYXRpb24mJik7CiAK
QEAgLTEzOCw2ICsxMzksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCB1c2VyU2NyaXB0c1Nob3VsZFdh
aXRVbnRpbE5vdGlmaWNhdGlvbiB7IHRydWUgfTsKICAgICBTaG91bGRSZWxheFRoaXJkUGFydHlD
b29raWVCbG9ja2luZyBzaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZyB7IFNob3Vs
ZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nOjpObyB9OwogICAgIGJvb2wgaHR0cHNVcGdy
YWRlRW5hYmxlZCB7IHRydWUgfTsKKworICAgIFVuaXF1ZVJlZjxQZXJtaXNzaW9uQ29udHJvbGxl
cj4gcGVybWlzc2lvbkNvbnRyb2xsZXI7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCA2NmFlZGE0
M2M4MmQ4YmZiMzM1YmJmZWY2MDk1ZDA0ZWZhZGI4NjIwLi5hNzQ1ZDcyMDE1Y2ZjMTk1ZmI5NmYy
Y2M1NTg1OGE4MzFiNzUwZWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0
CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTY5NCw2ICs2OTQsNyBAQCBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk1lZGlhS2V5U3lzdGVtQ2xpZW50LmNwcAogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlci5jcHAKIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcAogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwCitXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcAogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKaW5kZXggNWZiMzA4OTUwMTU2MjQ4NjY2MTUzYzYyNGY0MDM0ZWE0YTg4
NGZkZi4uMmY5ZDI0NDc2ZTM3MmEzMjc5Yzk2NWE0MmJjYTM2MGFhNDhjNWNjMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xNzIsNiArMTcyLDcgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0cnkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01l
ZGlhU3RyZWFtUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGVyZm9ybWFuY2VMb2dnaW5n
Q2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uU3RhdGUuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1BsYXRmb3JtRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QdWJsaWNTdWZmaXguaD4KQEAgLTg0
OTMsNiArODQ5NCwxMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmV2b2tlR2VvbG9jYXRpb25BdXRo
b3JpemF0aW9uVG9rZW4oY29uc3QgU3RyaW5nJiBhdXRob3JpemF0aQogICAgIG1fZ2VvbG9jYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIucmV2b2tlQXV0aG9yaXphdGlvblRva2VuKGF1dGhv
cml6YXRpb25Ub2tlbik7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0UGVybWlzc2lv
bihjb25zdCBDbGllbnRPcmlnaW4mLCBjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoUGVybWlzc2lvblN0YXRlKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
K3sKKyAgICAvLyBGSVhNRTogU2hvdyBhIHByb21wdCBmb3IgdXNlciBpbnB1dC4KKyAgICBjb21w
bGV0aW9uSGFuZGxlcihQZXJtaXNzaW9uU3RhdGU6OkdyYW50ZWQpOworfQorCiAjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5JiBX
ZWJQYWdlUHJveHk6OnVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGVhMWMyMmZiNmIxMWJlOTY4OTky
ODI2NGQzYmYzZmM4NDcxMDliOGQuLjQ2MWFhY2I4ODg2YTUyMzFjY2FhZmYwNzRmMmExYTU0YzAx
NzdkNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0yOTQsNiAr
Mjk0LDcgQEAgc3RydWN0IExpbmtJY29uOwogc3RydWN0IE1lZGlhU3RyZWFtUmVxdWVzdDsKIHN0
cnVjdCBNZWRpYVVzYWdlSW5mbzsKIHN0cnVjdCBNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1
cmF0aW9uOworc3RydWN0IFBlcm1pc3Npb25EZXNjcmlwdG9yOwogc3RydWN0IFByZXdhcm1JbmZv
cm1hdGlvbjsKIHN0cnVjdCBTZWN1cml0eU9yaWdpbkRhdGE7CiBzdHJ1Y3QgU2hhcmVEYXRhOwpA
QCAtMjExNyw2ICsyMTE4LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcmVxdWVzdEdlb2xvY2F0
aW9uUGVybWlzc2lvbkZvckZyYW1lKEdlb2xvY2F0aW9uSWRlbnRpZmllciwgRnJhbWVJbmZvRGF0
YSYmKTsKICAgICB2b2lkIHJldm9rZUdlb2xvY2F0aW9uQXV0aG9yaXphdGlvblRva2VuKGNvbnN0
IFN0cmluZyYgYXV0aG9yaXphdGlvblRva2VuKTsKKyAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9u
KGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25E
ZXNjcmlwdG9yJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3Rh
dGUpPiYmKTsKIAogI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQogICAgIHZvaWQg
c2VuZE1lc3NhZ2VUb1dlYlZpZXcoVXNlck1lc3NhZ2UmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYmMzN2I4ZmM2YWRmM2Vh
ZDE4NzJkMTE1NWZmMGNiZDAwOWRjMGFmOS4uMDdlMGY1NDgwMzQ2OTcwM2E2ZjczN2Q5OTMwN2Ix
ZWM3MzUwY2QzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbgpAQCAtNjAyLDQgKzYwMiw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94
eSB7CiAjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgTW9kZWxFbGVtZW50
RGlkQ3JlYXRlUHJldmlldyhzdHJ1Y3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQgZWxlbWVudENv
bnRleHQsIFVSTCB1cmwsIFN0cmluZyB1dWlkLCBXZWJDb3JlOjpGbG9hdFNpemUgc2l6ZSkKICNl
bmRpZgorCisgICAgcmVxdWVzdFBlcm1pc3Npb24oc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdp
biBvcmlnaW4sIHN0cnVjdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9y
KSAtPiAoZW51bTp1aW50OF90IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBzdGF0ZSkgQXN5bmMK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGZlM2QzMmIzMjk1YzJjNDRmZDQ0NDRjZGQ3ZjE0MWYyNDAwNGNhMDIuLmZiNjhhM2JkMTZk
MjczODJjZDMzYzkzYjEwYmViZTI5M2IzM2E1MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQ5Niw2ICsxNDk2LDcgQEAKIAkJOTNB
QjlCNEUyNTc1NjdFMjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVN
ZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTNBQjlCNDIyNTc0OTI4QzAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVh
bHRpbWVNZWRpYVNvdXJjZS5oICovOyB9OwogCQk5M0FCOUI1NTI1NzVBMjc2MDA5OEIxMEUgLyog
U3BlZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0FC
OUI0RjI1NzU4OTExMDA5OEIxMEUgLyogU3BlZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291
cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTkzQUI5QjU2MjU3NUEyOEIw
MDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5h
Z2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzQUI5QjUxMjU3NTg5MTEwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlv
blJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsg
fTsKKwkJOTNCMEE2NzUyNkQ1QURDRjAwQUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IwQTY3
NDI2RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLzsgfTsKIAkJ
OTNCMjYxNEQyMjdEMTQ5RTAwQjk3QTc2IC8qIFN0b3JhZ2VNYW5hZ2VyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0IyNjE0OTIyN0QxNDcyMDBCOTdB
NzYgLyogU3RvcmFnZU1hbmFnZXIuaCAqLzsgfTsKIAkJOTNCMjYxNEUyMjdEMTRCMTAwQjk3QTc2
IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5M0IyNjE0NTIyN0QxNDcwMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdl
RGF0YWJhc2UuaCAqLzsgfTsKIAkJOTNCMjYxNEYyMjdEMTRCMTAwQjk3QTc2IC8qIExvY2FsU3Rv
cmFnZURhdGFiYXNlVHJhY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTNCMjYxNDYyMjdEMTQ3MTAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFi
YXNlVHJhY2tlci5oICovOyB9OwpAQCAtNDkxNCw2ICs0OTE1LDEwIEBACiAJCTkzQUI5QjUyMjU3
NTg5MTIwMDk4QjEwRSAvKiBTcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3Vy
Y2VNYW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNz
YWdlc1JlcGxpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNBQjlCNTMyNTc1
ODkxMjAwOThCMTBFIC8qIFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJj
ZU1hbmFnZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGVl
Y2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNBQjlCNTQyNTc1ODkxMjAwOThCMTBFIC8q
IFNwZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1l
TWVkaWFTb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOTNCMEE2NkQyNkQ0NTE1MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25NYW5hZ2VyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcm1pc3Npb25NYW5hZ2VyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNCMEE2NkUyNkQ0NTE1MDAwQUEyMUU0IC8q
IFBlcm1pc3Npb25NYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBl
cm1pc3Npb25NYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjcz
MjZENUE3MkUwMEFBMjFFNCAvKiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQjBBNjc0MjZENUE3MkUwMEFBMjFFNCAv
KiBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJQZXJtaXNzaW9uQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5M0IyNjE0NTIyN0QxNDcwMDBCOTdBNzYgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxTdG9yYWdlRGF0YWJhc2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMjYxNDYyMjdEMTQ3MTAwQjk3QTc2IC8q
IExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTNCMjYxNDcyMjdEMTQ3MTAwQjk3QTc2IC8qIExvY2FsU3RvcmFnZURhdGFi
YXNlVHJhY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2Nh
bFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtOTYyMyw2ICs5NjI4LDE1IEBACiAJCQlwYXRoID0gU3BlZWNoOwogCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKIAkJfTsKKwkJOTNCMEE2NkMyNkQ0NTExRjAwQUEyMUU0IC8qIFBlcm1pc3Np
b24gKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTkzQjBB
NjZEMjZENDUxNTAwMEFBMjFFNCAvKiBQZXJtaXNzaW9uTWFuYWdlci5jcHAgKi8sCisJCQkJOTNC
MEE2NkUyNkQ0NTE1MDAwQUEyMUU0IC8qIFBlcm1pc3Npb25NYW5hZ2VyLmggKi8sCisJCQkpOwor
CQkJcGF0aCA9IFBlcm1pc3Npb247CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9Owog
CQk5M0IyNjE0MzIyN0QxNDMxMDBCOTdBNzYgLyogV2ViU3RvcmFnZSAqLyA9IHsKIAkJCWlzYSA9
IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC05ODYzLDYgKzk4NzcsNyBAQAogCQkJCTRB
NDEwRjQxMTlBRjdCMjcwMDJFQkFCNSAvKiBNZWRpYVN0cmVhbSAqLywKIAkJCQk1MTA1QjBEMjE2
MkY3QTVFMDBFMjc3MDkgLyogTmV0d29yayAqLywKIAkJCQkzMTA5OTk3NDE0NkM4QUE4MDAyOURF
QjkgLyogTm90aWZpY2F0aW9ucyAoVXNlcikgKi8sCisJCQkJOTNCMEE2NkMyNkQ0NTExRjAwQUEy
MUU0IC8qIFBlcm1pc3Npb24gKi8sCiAJCQkJMUE2RkI3QUExMUU2NEI0OTAwREIxMzcxIC8qIFBs
dWdpbnMgKi8sCiAJCQkJOTNBQjlCNDgyNTc0QzVDRTAwOThCMTBFIC8qIFNwZWVjaCAqLywKIAkJ
CQk1MTE4RTk5ODFGMjk1MjU5MDAzRUY5RjUgLyogU3RvcmFnZSAqLywKQEAgLTk5MzMsNiArOTk0
OCw4IEBACiAJCQkJNTEyMTI3QzIxOTA4MjM5QTAwREFGMzVDIC8qIFdlYlBhc3RlYm9hcmRPdmVy
cmlkZXMuaCAqLywKIAkJCQkwRjg1MEZFNDFFRDdDMzlGMDBGQjc3QTcgLyogV2ViUGVyZm9ybWFu
Y2VMb2dnaW5nQ2xpZW50LmNwcCAqLywKIAkJCQkwRjg1MEZFNTFFRDdDMzlGMDBGQjc3QTcgLyog
V2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmggKi8sCisJCQkJOTNCMEE2NzMyNkQ1QTcyRTAw
QUEyMUU0IC8qIFdlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcCAqLywKKwkJCQk5M0IwQTY3NDI2
RDVBNzJFMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCAqLywKIAkJCQkxQTNF
NzM2MDExQ0MyNjU5MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCAqLywKIAkJ
CQkxQTNFNzM1RjExQ0MyNjU5MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggKi8s
CiAJCQkJRDNCOTQ4NDIxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5jcHAgKi8sCkBA
IC0xMjY2Miw2ICsxMjY3OSw3IEBACiAJCQkJQTE3OThCNEMyMjJGMUJENDAwMDc2NEJEIC8qIFdl
YlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjFG
Nzk5MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2Vz
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjg1MEZFNzFFRDdDMzlGMDBGQjc3QTcgLyogV2ViUGVy
Zm9ybWFuY2VMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk5M0IwQTY3NTI2RDVB
RENGMDBBQTIxRTQgLyogV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBM0U3MzYxMTFDQzI2NTkwMDdCRDUzOSAvKiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDNTc0NEYwMTI2MzhGQjMwMDZGMEYxMiAvKiBXZWJQb3B1cEl0
ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUQzQjk0ODQ3MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQ
b3B1cE1lbnUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxl
ci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYTlmMTMyMjkyMGY2OGE3MmMxNDA0MzY0YzkzMzMyNWEzNDNiOWI2
ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAKQEAgLTAsMCArMSwxNDEgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViUGVybWlzc2lvbkNvbnRy
b2xsZXIuaCIKKworCisjaW5jbHVkZSAiV2ViUGFnZS5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94
eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uT2JzZXJ2ZXIuaD4KKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK1dlYlBlcm1pc3Npb25Db250cm9sbGVyOjpXZWJQZXJtaXNz
aW9uQ29udHJvbGxlcihXZWJQYWdlJiBwYWdlKQorICAgIDogbV9wYWdlKG1ha2VXZWFrUHRyKHBh
Z2UpKQoreworfQorCitXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgV2ViUGVybWlzc2lvbkNvbnRy
b2xsZXI6OnF1ZXJ5KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6UGVy
bWlzc2lvbkRlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQoreworICAgIGlmICghbV9wYWdlKQorICAg
ICAgICByZXR1cm4gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpEZW5pZWQ7CisKKyAgICByZXR1
cm4gcXVlcnlDYWNoZShXVEZNb3ZlKG9yaWdpbiksIFdURk1vdmUoZGVzY3JpcHRvcikpOworfQor
Cit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpyZXF1ZXN0KFdlYkNvcmU6OkNsaWVudE9y
aWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImJiBkZXNjcmlwdG9y
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybiBjb21w
bGV0aW9uSGFuZGxlcihXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkRlbmllZCk7CisKKyAgICBh
dXRvIGNhY2hlZFJlc3VsdCA9IHF1ZXJ5Q2FjaGUob3JpZ2luLCBkZXNjcmlwdG9yKTsKKyAgICBp
ZiAoY2FjaGVkUmVzdWx0ICE9IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0KQorICAg
ICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoY2FjaGVkUmVzdWx0KTsKKworICAgIG1fcmVx
dWVzdHMuYXBwZW5kKFBlcm1pc3Npb25SZXF1ZXN0IHsgV1RGTW92ZShvcmlnaW4pLCBXVEZNb3Zl
KGRlc2NyaXB0b3IpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSB9KTsKKyAgICB0cnlQcm9j
ZXNzaW5nUmVxdWVzdHMoKTsKK30KKworV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIFdlYlBlcm1p
c3Npb25Db250cm9sbGVyOjpxdWVyeUNhY2hlKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYg
b3JpZ2luLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvcikK
K3sKKyAgICBhdXRvIGl0ZXJhdG9yID0gbV9jYWNoZWRQZXJtaXNzaW9uRW50cmllcy5maW5kKG9y
aWdpbik7CisgICAgaWYgKGl0ZXJhdG9yICE9IG1fY2FjaGVkUGVybWlzc2lvbkVudHJpZXMuZW5k
KCkpIHsKKyAgICAgICAgZm9yIChhdXRvJiBlbnRyeSA6IGl0ZXJhdG9yLT52YWx1ZSkgeworICAg
ICAgICAgICAgaWYgKGVudHJ5LmZpcnN0ID09IGRlc2NyaXB0b3IpCisgICAgICAgICAgICAgICAg
cmV0dXJuIGVudHJ5LnNlY29uZDsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBXZWJD
b3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdDsKK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29u
dHJvbGxlcjo6dXBkYXRlQ2FjaGUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBvcmlnaW4s
IGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBXZWJDb3Jl
OjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpCit7CisgICAgYXV0byYgZW50cmllcyA9IG1fY2FjaGVk
UGVybWlzc2lvbkVudHJpZXMuZW5zdXJlKG9yaWdpbiwgWyZdKCkgeworICAgICAgICByZXR1cm4g
VmVjdG9yPFBlcm1pc3Npb25FbnRyeT4geyB9OworICAgIH0pLml0ZXJhdG9yLT52YWx1ZTsKKyAg
ICBmb3IgKGF1dG8mIGVudHJ5IDogZW50cmllcykgeworICAgICAgICBpZiAoZW50cnkuZmlyc3Qg
PT0gZGVzY3JpcHRvcikgeworICAgICAgICAgICAgaWYgKGVudHJ5LnNlY29uZCA9PSBzdGF0ZSkK
KyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIGVudHJ5LnNlY29uZCA9IHN0
YXRlOworICAgICAgICAgICAgcGVybWlzc2lvbkNoYW5nZWQob3JpZ2luLCBkZXNjcmlwdG9yLCBz
dGF0ZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQg
V2ViUGVybWlzc2lvbkNvbnRyb2xsZXI6OnRyeVByb2Nlc3NpbmdSZXF1ZXN0cygpCit7CisgICAg
aWYgKG1fcmVxdWVzdHMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKKyAgICB3aGlsZSAo
IW1fcmVxdWVzdHMuaXNFbXB0eSgpKSB7CisgICAgICAgIGF1dG8mIGN1cnJlbnRSZXF1ZXN0ID0g
bV9yZXF1ZXN0cy5maXJzdCgpOworICAgICAgICBpZiAoY3VycmVudFJlcXVlc3QuaXNXYWl0aW5n
Rm9yUmVwbHkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgLy8gQ2FjaGUgbWF5IGhh
dmUgdXBkYXRlZC4KKyAgICAgICAgYXV0byBjYWNoZWRSZXN1bHQgPSBxdWVyeUNhY2hlKGN1cnJl
bnRSZXF1ZXN0Lm9yaWdpbiwgY3VycmVudFJlcXVlc3QuZGVzY3JpcHRvcik7CisgICAgICAgIGlm
IChjYWNoZWRSZXN1bHQgIT0gV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpQcm9tcHQpIHsKKyAg
ICAgICAgICAgIG1fcmVxdWVzdHMudGFrZUZpcnN0KCkuY29tcGxldGlvbkhhbmRsZXIoY2FjaGVk
UmVzdWx0KTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKKyAgICAgICAgY3Vy
cmVudFJlcXVlc3QuaXNXYWl0aW5nRm9yUmVwbHkgPSB0cnVlOworICAgICAgICBtX3BhZ2UtPnNl
bmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0UGVybWlzc2lv
bihjdXJyZW50UmVxdWVzdC5vcmlnaW4sIGN1cnJlbnRSZXF1ZXN0LmRlc2NyaXB0b3IpLCBbdGhp
cywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldKGF1dG8gc3RhdGUpIHsKKyAgICAgICAg
ICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAg
ICBhdXRvIHRha2VuUmVxdWVzdCA9IG1fcmVxdWVzdHMudGFrZUZpcnN0KCk7CisgICAgICAgICAg
ICB0YWtlblJlcXVlc3QuY29tcGxldGlvbkhhbmRsZXIoc3RhdGUpOworICAgICAgICAgICAgdXBk
YXRlQ2FjaGUodGFrZW5SZXF1ZXN0Lm9yaWdpbiwgdGFrZW5SZXF1ZXN0LmRlc2NyaXB0b3IsIHN0
YXRlKTsKKworICAgICAgICAgICAgdHJ5UHJvY2Vzc2luZ1JlcXVlc3RzKCk7CisgICAgICAgIH0p
OworICAgIH0KK30KKwordm9pZCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6YWRkT2JzZXJ2ZXIo
V2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICBtX29ic2VydmVy
cy5hZGQob2JzZXJ2ZXIpOworfQorCit2b2lkIFdlYlBlcm1pc3Npb25Db250cm9sbGVyOjpyZW1v
dmVPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXImIG9ic2VydmVyKQoreworICAg
IG1fb2JzZXJ2ZXJzLnJlbW92ZShvYnNlcnZlcik7Cit9CisKK3ZvaWQgV2ViUGVybWlzc2lvbkNv
bnRyb2xsZXI6OnBlcm1pc3Npb25DaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYg
b3JpZ2luLCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYgZGVzY3JpcHRvciwg
V2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHN0YXRlKQoreworICAgIGZvciAoYXV0byYgb2JzZXJ2
ZXIgOiBtX29ic2VydmVycykgeworICAgICAgICBpZiAob2JzZXJ2ZXIub3JpZ2luKCkgPT0gb3Jp
Z2luICYmIG9ic2VydmVyLmRlc2NyaXB0b3IoKSA9PSBkZXNjcmlwdG9yKQorICAgICAgICAgICAg
b2JzZXJ2ZXIuc3RhdGVDaGFuZ2VkKHN0YXRlKTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOGFj
YjhkMTczMzA2NmM2ZWY4NjU0NGIzMTlkNmQwOTU4NGZlN2U1Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Npb25Db250
cm9sbGVyLmgKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aW5jbHVkZSA8V2ViQ29yZS9DbGllbnRPcmlnaW4uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1p
c3Npb25Db250cm9sbGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uRGVzY3JpcHRv
ci5oPgorI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5o
PgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViUGFnZTsKKworY2xhc3MgV2ViUGVy
bWlzc2lvbkNvbnRyb2xsZXIgZmluYWwgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8V2ViUGVybWlz
c2lvbkNvbnRyb2xsZXI+LCBwdWJsaWMgV2ViQ29yZTo6UGVybWlzc2lvbkNvbnRyb2xsZXIgewor
cHVibGljOgorICAgIGV4cGxpY2l0IFdlYlBlcm1pc3Npb25Db250cm9sbGVyKFdlYlBhZ2UmKTsK
KworcHJpdmF0ZToKKyAgICAvLyBXZWJDb3JlOjpQZXJtaXNzaW9uQ29udHJvbGxlcgorICAgIFdl
YkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBxdWVyeShXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2Vi
Q29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImJikgZmluYWw7CisgICAgdm9pZCByZXF1ZXN0KFdl
YkNvcmU6OkNsaWVudE9yaWdpbiYmLCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYpIGZpbmFs
OworICAgIHZvaWQgYWRkT2JzZXJ2ZXIoV2ViQ29yZTo6UGVybWlzc2lvbk9ic2VydmVyJikgZmlu
YWw7CisgICAgdm9pZCByZW1vdmVPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNzaW9uT2JzZXJ2ZXIm
KSBmaW5hbDsKKworICAgIFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBxdWVyeUNhY2hlKGNvbnN0
IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlw
dG9yJik7CisgICAgdm9pZCB1cGRhdGVDYWNoZShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4m
LCBjb25zdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIFdlYkNvcmU6OlBlcm1pc3Np
b25TdGF0ZSk7CisgICAgdm9pZCB0cnlQcm9jZXNzaW5nUmVxdWVzdHMoKTsKKyAgICB2b2lkIHBl
cm1pc3Npb25DaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIGNvbnN0IFdlYkNv
cmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiwgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKTsKKwor
ICAgIFdlYWtQdHI8V2ViUGFnZT4gbV9wYWdlOworICAgIFdlYWtIYXNoU2V0PFdlYkNvcmU6OlBl
cm1pc3Npb25PYnNlcnZlcj4gbV9vYnNlcnZlcnM7CisKKyAgICB1c2luZyBQZXJtaXNzaW9uRW50
cnkgPSBzdGQ6OnBhaXI8V2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IsIFdlYkNvcmU6OlBl
cm1pc3Npb25TdGF0ZT47CisgICAgSGFzaE1hcDxXZWJDb3JlOjpDbGllbnRPcmlnaW4sIFZlY3Rv
cjxQZXJtaXNzaW9uRW50cnk+PiBtX2NhY2hlZFBlcm1pc3Npb25FbnRyaWVzOworCisgICAgc3Ry
dWN0IFBlcm1pc3Npb25SZXF1ZXN0IHsKKyAgICAgICAgV2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9y
aWdpbjsKKyAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcjsK
KyAgICAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUp
PiBjb21wbGV0aW9uSGFuZGxlcjsKKyAgICAgICAgYm9vbCBpc1dhaXRpbmdGb3JSZXBseSB7IGZh
bHNlIH07CisgICAgfTsKKyAgICBEZXF1ZTxQZXJtaXNzaW9uUmVxdWVzdD4gbV9yZXF1ZXN0czsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMDRlM2FlMjAxNDNmMmYzZGJkMjA2NGEzMDJmMDFi
ODRlZGNhOTY0NS4uNzExZWQ4ZTkyMjc2ZWI5MzFmNTQ0NWM3NGZkNmMzYjBlOWViNTQxZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTEyMSw2
ICsxMjEsNyBAQAogI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAi
V2ViUGF5bWVudENvb3JkaW5hdG9yLmgiCiAjaW5jbHVkZSAiV2ViUGVyZm9ybWFuY2VMb2dnaW5n
Q2xpZW50LmgiCisjaW5jbHVkZSAiV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRl
ICJXZWJQbHVnaW5JbmZvUHJvdmlkZXIuaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnUuaCIKICNp
bmNsdWRlICJXZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgiCkBAIC01NjMsNyArNTY0LDggQEAg
V2ViUGFnZTo6V2ViUGFnZShQYWdlSWRlbnRpZmllciBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkZyYW1lTG9h
ZGVyQ2xpZW50PihtX21haW5GcmFtZS5jb3B5UmVmKCkpLAogICAgICAgICBtYWtlVW5pcXVlUmVm
PFdlYlNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+KG1faWRlbnRpZmllciksCiAgICAgICAgIG1h
a2VVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPigqdGhpcyksCi0gICAgICAgIFdlYlBy
b2Nlc3M6OnNpbmdsZXRvbigpLmJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSgpCisgICAgICAgIFdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLmJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeSgpLAorICAgICAg
ICBtYWtlVW5pcXVlUmVmPFdlYlBlcm1pc3Npb25Db250cm9sbGVyPigqdGhpcykKICAgICApOwog
ICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQo
KnRoaXMpOwogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRv
ck1hYy5oCmluZGV4IGJiZjhkMWJiOGNlNmMzMDFkYzNlZjIwMTk1M2Q4MmZlYzA1ZWRkNTguLjU2
YmM4MWM3OGYzNGFhNDUzNDc5MzVkMjcxZWM1NzBjM2ZjN2VlNTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvRGlzcGxheVJlZnJl
c2hNb25pdG9yTWFjLmgKQEAgLTUwLDcgKzUwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIHN0YXJ0
Tm90aWZpY2F0aW9uTWVjaGFuaXNtKCkgZmluYWw7CiAgICAgdm9pZCBzdG9wTm90aWZpY2F0aW9u
TWVjaGFuaXNtKCkgZmluYWw7CiAKLSAgICB2b2lkIGFkanVzdFByZWZlcnJlZEZyYW1lc1BlclNl
Y29uZChGcmFtZXNQZXJTZWNvbmQpIGZpbmFsOworICAgIHZvaWQgYWRqdXN0UHJlZmVycmVkRnJh
bWVzUGVyU2Vjb25kKFdlYkNvcmU6OkZyYW1lc1BlclNlY29uZCkgZmluYWw7CiAKICAgICBEaXNw
bGF5TGlua09ic2VydmVySUQgbV9vYnNlcnZlcklEOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJD
b3JlOjpSdW5Mb29wT2JzZXJ2ZXI+IG1fcnVuTG9vcE9ic2VydmVyOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGNkNmE1ZjU3Mjk5NGY3ZWM0ZmJkZTc2
MzdkZjg2N2JkNTJmM2M4MzQuLjQ4MDNlYmM5ZWM3N2U4OGUxNWIyOGUyYmVkYzE2ZDY3M2E3Mjg5
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTE5
NSw2ICsxOTUsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1BhZ2VDb25maWd1cmF0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhdGhVdGlsaXRpZXMuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvUGVybWlzc2lvbkNvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNv
cmUvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1T
Y3JlZW4uaD4KICNpbXBvcnQgPFdlYkNvcmUvUHJvZ3Jlc3NUcmFja2VyLmg+CkBAIC0xNTM2LDcg
KzE1MzcsOCBAQCBzdGF0aWMgdm9pZCBXZWJLaXRJbml0aWFsaXplR2FtZXBhZFByb3ZpZGVySWZO
ZWNlc3NhcnkoKQogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xpZW50Pigp
LAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkR1bW15U3BlZWNoUmVjb2duaXRpb25Q
cm92aWRlcj4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpNZWRpYVJlY29yZGVy
UHJvdmlkZXI+KCksCi0gICAgICAgIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeTo6Z2V0T3JD
cmVhdGUoW1tzZWxmIHByZWZlcmVuY2VzXSBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSkKKyAgICAg
ICAgV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShbW3NlbGYgcHJlZmVy
ZW5jZXNdIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdKSwKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxX
ZWJDb3JlOjpEdW1teVBlcm1pc3Npb25Db250cm9sbGVyPigpCiAgICAgKTsKICNpZiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcg
V2ViQ2hyb21lQ2xpZW50KHNlbGYpOwpAQCAtMTgxNCw3ICsxODE2LDggQEAgc3RhdGljIHZvaWQg
V2ViS2l0SW5pdGlhbGl6ZUdhbWVwYWRQcm92aWRlcklmTmVjZXNzYXJ5KCkKICAgICAgICAgbWFr
ZVVuaXF1ZVJlZjxXZWJGcmFtZUxvYWRlckNsaWVudD4oKSwKICAgICAgICAgbWFrZVVuaXF1ZVJl
ZjxXZWJDb3JlOjpEdW1teVNwZWVjaFJlY29nbml0aW9uUHJvdmlkZXI+KCksCiAgICAgICAgIG1h
a2VVbmlxdWVSZWY8V2ViQ29yZTo6TWVkaWFSZWNvcmRlclByb3ZpZGVyPigpLAotICAgICAgICBX
ZWJCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnk6OmdldE9yQ3JlYXRlKFtbc2VsZiBwcmVmZXJlbmNl
c10gcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0pCisgICAgICAgIFdlYkJyb2FkY2FzdENoYW5uZWxS
ZWdpc3RyeTo6Z2V0T3JDcmVhdGUoW1tzZWxmIHByZWZlcmVuY2VzXSBwcml2YXRlQnJvd3NpbmdF
bmFibGVkXSksCisgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6RHVtbXlQZXJtaXNzaW9u
Q29udHJvbGxlcj4oKQogICAgICk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50
ID0gbmV3IFdlYkNocm9tZUNsaWVudElPUyhzZWxmKTsKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JU
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAppbmRleCAxY2YzMmRhMjRhMDkwY2ZlM2Qy
YjY1MjljYTgzZjgyNmM1NTgyZTlkLi5jMTllOGVmZjU3ZjgxOTBlYTJjNGJjZTMxNWYwZjgwYjM5
MmMxOWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcApAQCAtMTM4LDYgKzEzOCw3
IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUGFnZUNvbmZpZ3VyYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhdGhVdGlsaXRpZXMu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1pc3Npb25Db250cm9sbGVyLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRm
b3JtTW91c2VFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1XaGVlbEV2ZW50Lmg+
CkBAIC0zMTMzLDcgKzMxMzQsOCBAQCBIUkVTVUxUIFdlYlZpZXc6OmluaXRXaXRoRnJhbWUoUkVD
VCBmcmFtZSwgX0luXyBCU1RSIGZyYW1lTmFtZSwgX0luXyBCU1RSIGdyb3VwTgogICAgICAgICBt
YWtlVW5pcXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xpZW50Pih3ZWJGcmFtZSksCiAgICAgICAgIG1h
a2VVbmlxdWVSZWY8RHVtbXlTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPigpLAogICAgICAgICBt
YWtlVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKSwKLSAgICAgICAgV2ViQnJvYWRj
YXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShmYWxzZSkKKyAgICAgICAgV2ViQnJvYWRj
YXN0Q2hhbm5lbFJlZ2lzdHJ5OjpnZXRPckNyZWF0ZShmYWxzZSksCisgICAgICAgIG1ha2VVbmlx
dWVSZWY8RHVtbXlQZXJtaXNzaW9uQ29udHJvbGxlcj4oKQogICAgICk7CiAgICAgY29uZmlndXJh
dGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KHRoaXMpOwogI2lmIEVOQUJM
RShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGYxMzVmZGMzMDk3NTYwOTc2ZGE4MDhjOTk4OWYwMDcz
YmM5MWQ0ZTkuLmU2YTA5MGUxZTM2NjFjMmYwNTFmNDMyM2RkMDlmOTgyNzE5Y2U0ODcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAyMS0wOC0zMCAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIFBlcm1pc3Npb25zIEFQSQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzM5CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS84MjQ0MjIwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1l
ei4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFj
LXdrMS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5v
LWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0
aW9uczoKKwogMjAyMS0wOC0yNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIENyYXNoIGluIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNo
YXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4
IDhhNjY1MGY4ODI4NDk5ODAyYTlkMjBlZmU2OWI1NDMzN2I2NDRiOGYuLmQ4MTA2OWFkODliZmYx
MjVmYTExOTZiNjk1NWU1MzFmZjBjZmRjY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA4LTMwICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBzdHVicyBmb3IgUGVybWlzc2lvbnMgQVBJCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzMzkKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzgyNDQyMjA1PgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1
bWV6LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5l
c3MuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlz
c2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVy
eS1mZWF0dXJlLXBvbGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNzdGF0dXMtbmFt
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25z
L3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1mZXRjaC1wZXJtaXNz
aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lv
bnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6
CisKIDIwMjEtMDgtMjUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTWFjIHdrMl0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9y
aWdpbi1lbWJlZGRlci1wb2xpY3kvcmVwb3J0aW5nLXRvLWZyYW1lLW93bmVyLmh0dHBzLmh0bWwg
aXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2YmRlMmY5NGVhZDIxN2I4
NjQ0MzI1NzE4YzFmNGM2MjExZjI3NjcwLi44YmM5MzY4ZDhhOGVkMjhiYWFhNTQxM2RiZjhhYmYy
YzE2ZmQxOTFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE5Niw2ICsxOTYsNyBAQCBmYXN0L3Nw
ZWVjaHJlY29nbml0aW9uL3Blcm1pc3Npb24tZXJyb3IuaHRtbCBbIFNraXAgXQogZmFzdC9zcGVl
Y2hyZWNvZ25pdGlvbi9zdGFydC1yZWNvZ25pdGlvbi10aGVuLXN0b3AuaHRtbCBbIFNraXAgXQog
ZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1zZWNvbmQtcmVjb2duaXRpb24uaHRtbCBbIFNr
aXAgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9pb3MvIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zLyBbIFNraXAgXQogCiAjIGFwcC1wcml2YWN5
LXJlcG9ydCB0ZXN0cyByZWx5IG9uIFdlYktpdEFkZGl0aW9ucwogaHR0cC90ZXN0cy9hcHAtcHJp
dmFjeS1yZXBvcnQvIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlz
c2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGI4NGQ0MGQ3NjVmMjA0MDgz
ZGVmOGI2NzcwMGM0MjA0NGIwMzQ2OTguLjBjNGJhYTBjZmVlMDFmOTRjZWFmNGFmN2ZiMzhmODli
NGZiNmJiZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRs
aGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CkBAIC0xOSwyOSArMTksMjkgQEAgUEFTUyBXb3JrZXJO
YXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQ
QVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JMYW5ndWFnZTogbWVtYmVyIG5h
bWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvck9u
TGluZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1
ZGVzIE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUK
LUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQ
ZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNl
IG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Np
b25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2Ugb2JqZWN0
IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMi
IG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNz
aW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVz
IiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJt
aXNzaW9uU3RhdHVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3Rh
dHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQ
ZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlIGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMi
IGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlMIFBlcm1p
c3Npb25TdGF0dXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIg
ZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlz
c2lvblN0YXR1cyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHBlcm1pc3Npb25TdGF0dXMg
YXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVj
dCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIHBl
cm1pc3Npb25TdGF0dXMgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBl
dmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwgUGVybWlz
c2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJzdGF0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3Rl
ZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qg
b2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogcGVybWlzc2lvblN0
YXR1cyIKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IHBlcm1pc3Npb25TdGF0dXMg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNz
ZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBl
eHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2
YXJpYWJsZTogcGVybWlzc2lvblN0YXR1cyIKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhw
ZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGlu
dGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlz
c2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1p
c3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVy
bWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9u
cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJv
cGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUGVybWlzc2lvbnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwot
RkFJTCBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lv
bnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNz
aW9ucyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeShvYmplY3QpIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgbXVzdCBi
ZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgYXNzZXJ0X2VxdWFs
czogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmlu
ZWQiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuYXZpZ2F0b3IucGVybWlzc2lvbnMgYXNzZXJ0
X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1
bmRlZmluZWQiCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogbmF2aWdhdG9yLnBlcm1pc3Np
b25zIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVlcnkob2JqZWN0KSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0
IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogY2FsbGlu
ZyBxdWVyeShvYmplY3QpIG9uIG5hdmlnYXRvci5wZXJtaXNzaW9ucyB3aXRoIHRvbyBmZXcgYXJn
dW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBv
YmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBOYXZpZ2F0
b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGVybWlzc2lvbnMgYXNzZXJ0X3RydWU6IFRoZSBwcm90
b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJwZXJtaXNzaW9ucyIgZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKLUZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogbmF2aWdhdG9yIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAicGVybWlzc2lvbnMiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2Vy
dF9pbmhlcml0czogcHJvcGVydHkgInBlcm1pc3Npb25zIiBub3QgZm91bmQgaW4gcHJvdG90eXBl
IGNoYWluCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVy
ZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVj
dCBuYW1lCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvblN0
YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvblN0
YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lvblN0
YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZQorUEFTUyBQZXJtaXNzaW9uU3RhdHVzIGlu
dGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgbXVzdCBi
ZSBwcmltYXJ5IGludGVyZmFjZSBvZiBwZXJtaXNzaW9uU3RhdHVzCitQQVNTIFN0cmluZ2lmaWNh
dGlvbiBvZiBwZXJtaXNzaW9uU3RhdHVzCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNl
OiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RhdGUiIHdpdGggdGhl
IHByb3BlciB0eXBlCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9u
U3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0
eXBlCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBs
ZW5ndGgKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBlcm1p
c3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0CitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eQorUEFTUyBQZXJtaXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJv
cGVydHkKK1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2JqZWN0
KQorUEFTUyBQZXJtaXNzaW9ucyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmlnYXRv
ci5wZXJtaXNzaW9ucworUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmF2aWdhdG9yLnBlcm1pc3Np
b25zCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogbmF2aWdhdG9yLnBlcm1pc3Npb25zIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVlcnkob2JqZWN0KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUK
K1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBjYWxsaW5nIHF1ZXJ5KG9iamVjdCkgb24gbmF2
aWdhdG9yLnBlcm1pc3Npb25zIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IKK1BBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIHBlcm1pc3Npb25zCitQ
QVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IG5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkg
InBlcm1pc3Npb25zIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5l
c3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQKaW5kZXggNTI1NjAyZDE2ZDdmMGY1NGNhOGVmMDNmN2ZjZjViNGVlZWYzMTY5Ny4uMDYy
YjI5NTdmMzE1NTFiMzUyYTQ5NTQxNmMzZjRhYmZhNTc5OWU2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9pZGxoYXJu
ZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dApAQCAtMTksMjUgKzE5LDI1IEBAIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1
ZGVzIE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZp
Z2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVl
CiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JPbkxpbmU6IG1lbWJlciBu
YW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JD
b25jdXJyZW50SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCi1GQUlMIFBlcm1pc3Np
b25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1
cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3Ro
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBl
cm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNz
aW5nCi1GQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25T
dGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCi1GQUlM
IFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVy
dHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJv
cGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1cyBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQg
cHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvblN0YXR1
cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiUGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwotRkFJTCBQZXJtaXNzaW9uU3RhdHVzIGlu
dGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3Bl
cnR5ICJQZXJtaXNzaW9uU3RhdHVzIiBtaXNzaW5nCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFT
UyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFBlcm1pc3Np
b25TdGF0dXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBlcm1pc3Npb25TdGF0dXMgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJv
cGVydHkKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJv
cGVydHkKK1BBU1MgUGVybWlzc2lvblN0YXR1cyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0ZQor
UEFTUyBQZXJtaXNzaW9uU3RhdHVzIGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlCiBGQUlM
IFBlcm1pc3Npb25TdGF0dXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBwZXJtaXNzaW9u
U3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGlu
ZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCiBGQUlMIFN0cmluZ2lmaWNhdGlv
biBvZiBwZXJtaXNzaW9uU3RhdHVzIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9u
IHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCiBGQUlM
IFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9uU3RhdHVzIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAic3RhdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVu
ZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBi
dXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHBlcm1p
c3Npb25TdGF0dXMiCiBGQUlMIFBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBwZXJtaXNzaW9u
U3RhdHVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0
eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBv
YmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0
IGZpbmQgdmFyaWFibGU6IHBlcm1pc3Npb25TdGF0dXMiCi1GQUlMIFBlcm1pc3Npb25zIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUGVybWlzc2lv
bnMiIGV4cGVjdGVkIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgbWlzc2luZwotRkFJTCBQZXJtaXNz
aW9ucyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkg
IlBlcm1pc3Npb25zIiBtaXNzaW5nCi1GQUlMIFBlcm1pc3Npb25zIGludGVyZmFjZSBvYmplY3Qg
bmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJQZXJtaXNzaW9ucyIgZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCi1G
QUlMIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVy
bWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0
b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlBlcm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1p
c3NpbmcKLUZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlBl
cm1pc3Npb25zIiBleHBlY3RlZCBwcm9wZXJ0eSAiUGVybWlzc2lvbnMiIG1pc3NpbmcKLUZBSUwg
UGVybWlzc2lvbnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2JqZWN0KSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQZXJtaXNzaW9ucyIg
ZXhwZWN0ZWQgcHJvcGVydHkgIlBlcm1pc3Npb25zIiBtaXNzaW5nCitQQVNTIFBlcm1pc3Npb25z
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QK
K1BBU1MgUGVybWlzc2lvbnMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUGVybWlzc2lv
bnMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNT
IFBlcm1pc3Npb25zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQZXJt
aXNzaW9ucyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUGVybWlzc2lv
bnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnkob2JqZWN0KQogRkFJTCBQZXJtaXNzaW9ucyBt
dXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmlnYXRvci5wZXJtaXNzaW9ucyBhc3NlcnRf
ZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVu
ZGVmaW5lZCIKIEZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5wZXJtaXNzaW9ucyBh
c3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBn
b3QgInVuZGVmaW5lZCIKIEZBSUwgUGVybWlzc2lvbnMgaW50ZXJmYWNlOiBuYXZpZ2F0b3IucGVy
bWlzc2lvbnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeShvYmplY3QpIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJv
YmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKaW5kZXggYzNlODYwNWY4NzI4
N2E4MDM4MWY1ZGI4MDZjZGQwNWEyNTU2NWRkZS4uYzJmZDY1ZThkNDAwMmE3MjMwMTg3YTYxZjUx
YzI4MmVmYzFjNmJlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9u
cy9uZmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVz
dCBXZWIgTkZDIFBlcm1pc3Npb24uIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKQorUEFTUyBUZXN0IFdlYiBORkMgUGVy
bWlzc2lvbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBvbGljeS1h
dHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtcXVlcnktZmVhdHVy
ZS1wb2xpY3ktYXR0cmlidXRlLmh0dHBzLnN1Yi1leHBlY3RlZC50eHQKaW5kZXggZTQyZGRhMjYx
MmYyNTdiN2YwMmJiZWVmNjU2MzNiMjViNzM2NDdhNS4uYzRiYTI0OTJlOTkxOTlkNjY2MDVhOGMw
MWFhMDE1MWI5NjI0NjA3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1xdWVyeS1mZWF0dXJlLXBv
bGljeS1hdHRyaWJ1dGUuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLXF1
ZXJ5LWZlYXR1cmUtcG9saWN5LWF0dHJpYnV0ZS5odHRwcy5zdWItZXhwZWN0ZWQudHh0CkBAIC0x
LDYgKzEsNiBAQAogCi1GQUlMIFBlcm1pc3Npb25zLnN0YXRlIGlzICJwcm9tcHQiIHdpdGggYWxs
b3c9Imdlb2xvY2F0aW9uIiBpbiBzYW1lLW9yaWdpbiBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBu
YXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoImdlb2xvY2F0aW9uIikgZXhwZWN0ZWQgKHN0cmlu
ZykgInByb21wdCIgYnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIFBlcm1pc3Npb25zLnN0YXRl
IGlzICJwcm9tcHQiIHdpdGggYWxsb3c9Imdlb2xvY2F0aW9uIiBpbiBjcm9zcy1vcmlnaW4gaWZy
YW1lcy4gYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KCJnZW9sb2Nh
dGlvbiIpIGV4cGVjdGVkIChzdHJpbmcpICJwcm9tcHQiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAot
RkFJTCBQZXJtaXNzaW9uLnN0YXRlIGlzICJwcm9tcHQiIGluIHNhbWUtb3JpZ2luIGlmcmFtZXMu
IGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9jYXRpb24i
KSBleHBlY3RlZCAoc3RyaW5nKSAicHJvbXB0IiBidXQgZ290IChvYmplY3QpIG51bGwKLUZBSUwg
UGVybWlzc2lvbi5zdGF0ZSBpcyAiZGVuaWVkIiBpbiBjcm9zcy1vcmlnaW4gaWZyYW1lcy4gYXNz
ZXJ0X2VxdWFsczogbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KCJnZW9sb2NhdGlvbiIpIGV4
cGVjdGVkIChzdHJpbmcpICJkZW5pZWQiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAorUEFTUyBQZXJt
aXNzaW9ucy5zdGF0ZSBpcyAicHJvbXB0IiB3aXRoIGFsbG93PSJnZW9sb2NhdGlvbiIgaW4gc2Ft
ZS1vcmlnaW4gaWZyYW1lcy4KK1BBU1MgUGVybWlzc2lvbnMuc3RhdGUgaXMgInByb21wdCIgd2l0
aCBhbGxvdz0iZ2VvbG9jYXRpb24iIGluIGNyb3NzLW9yaWdpbiBpZnJhbWVzLgorUEFTUyBQZXJt
aXNzaW9uLnN0YXRlIGlzICJwcm9tcHQiIGluIHNhbWUtb3JpZ2luIGlmcmFtZXMuCitGQUlMIFBl
cm1pc3Npb24uc3RhdGUgaXMgImRlbmllZCIgaW4gY3Jvc3Mtb3JpZ2luIGlmcmFtZXMuIGFzc2Vy
dF9lcXVhbHM6IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSgiZ2VvbG9jYXRpb24iKSBleHBl
Y3RlZCAiZGVuaWVkIiBidXQgZ290ICJwcm9tcHQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNz
dGF0dXMtbmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zc3RhdHVzLW5hbWUtZXhwZWN0ZWQu
dHh0CmluZGV4IDExZmIxYTBkNjEyNGRhOTRlMDAxZTdkZDkyM2UwMTdjZTY5ZTc4YmEuLjBlNGVi
Y2M0N2NjYjkzODkwOGVjZTg0Y2M2OGYxNTNkMDg1Mzc5YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvcGVybWlzc2lv
bnNzdGF0dXMtbmFtZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc3N0YXR1cy1uYW1lLWV4
cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IFBlcm1pc3Npb25TdGF0dXMn
cyBuYW1lIGF0dHJpYnV0ZS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykiCitQQVNTIFRlc3QgUGVybWlz
c2lvblN0YXR1cydzIG5hbWUgYXR0cmlidXRlLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxv
Y2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3NjcmVlbi13YWtlLWxvY2stcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQKaW5kZXggODVjN2JiYTVjMmIyNDU5M2Y1MWUyMTQ2YmUyNWJkMTZmYTA1ZmY1
OC4uZDY4YjY4MGI4MTlkZTE3YzNhZDM1YmQ1OGU2ZjUwZDE1YTZkYmFiZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9z
Y3JlZW4td2FrZS1sb2NrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvc2NyZWVuLXdha2Ut
bG9jay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0
ICJzY3JlZW4td2FrZS1sb2NrIiBQZXJtaXNzaW9uLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKSIKK0ZB
SUwgVGVzdCAic2NyZWVuLXdha2UtbG9jayIgUGVybWlzc2lvbi4gcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9y
IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Blcm1pc3Npb25zL3Rlc3QtYmFja2dyb3VuZC1mZXRjaC1wZXJtaXNzaW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlz
c2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CmluZGV4
IDlhOTQyNjlmYjc0MzhmYzYzYmUxOGQwMGNkMjk5N2NjNTliYThkZDYuLjc4NWJiNTg1ZjUxNTk1
ZmRlYTA1MjM0MTY3MjM4MTNjOGRiMjMxNTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZl
dGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBl
cm1pc3Npb24tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgQmFja2dy
b3VuZCBGZXRjaCBQZXJtaXNzaW9uLiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAnbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5JykKK1BBU1MgVGVzdCBCYWNrZ3JvdW5k
IEZldGNoIFBlcm1pc3Npb24uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5k
LXN5bmMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rlc3QtcGVyaW9kaWMtYmFja2dyb3VuZC1z
eW5jLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CmluZGV4IDMxNmQzNTFhMGUwNzU0YjFlNTA5YmYz
Y2EwYWRhNGI2NGRlMzU2YTcuLjRlOWYzN2E4NzU2ZWIxN2EyZmI4NGYxMTcwMmExNDNhODZiNzA5
OWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvdGVzdC1wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wZXJtaXNzaW9ucy90ZXN0LXBlcmlvZGljLWJhY2tncm91bmQtc3luYy1wZXJtaXNzaW9u
LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IFBlcmlvZGljIEJhY2tn
cm91bmQgU3luYyBQZXJtaXNzaW9uLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0
IChldmFsdWF0aW5nICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnknKSIKK0ZBSUwgVGVzdCBQ
ZXJpb2RpYyBCYWNrZ3JvdW5kIFN5bmMgUGVybWlzc2lvbi4gcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2Zhc3QvZG9tL25hdmln
YXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2sxL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50
eHQKaW5kZXggYzQ2ZmVjNjQwNTk4YmRmOWJmZWM1YmZiNzUxMWQ2NzA4N2VjMWI2ZS4uZTA4MTcw
MzQ1ODBhM2UyZDMyYTBjMGM1YzZkZGNmNTQ1NzUyYzkxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvZmFzdC9kb20v
bmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMTMsNiArMTMsNyBA
QCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgaXMgT0sKIG5hdmlnYXRvci5tZWRpYVNlc3Np
b24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlwZXMgaXMgT0sKIG5hdmlnYXRvci5vbkxpbmUgaXMg
T0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyBPSwogbmF2aWdhdG9yLnBsYXRmb3JtIGlzIE9L
CiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwogbmF2aWdhdG9yLnByb2R1Y3QgaXMgT0sKQEAgLTM2
LDYgKzM3LDcgQEAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGlzIE9LCiBuYXZpZ2F0b3Iu
bWVkaWFTZXNzaW9uIGlzIE9LCiBuYXZpZ2F0b3IubWltZVR5cGVzIGlzIE9LCiBuYXZpZ2F0b3Iu
b25MaW5lIGlzIE9LCituYXZpZ2F0b3IucGVybWlzc2lvbnMgaXMgT0sKIG5hdmlnYXRvci5wbGF0
Zm9ybSBpcyBPSwogbmF2aWdhdG9yLnBsdWdpbnMgaXMgT0sKIG5hdmlnYXRvci5wcm9kdWN0IGlz
IE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25h
dmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3Rl
ZC50eHQKaW5kZXggZGY5MDEwOTA0ZDU3N2U4NWEwNzY2NjdhOTM3YWQ3N2U2ZDhmNTk1Ny4uYzY4
ZDNjYTBiMzBjZGNlZTdkZTFlYjdiZTQxMzY5YTBiZWRiODNiYSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jh
c2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9k
b20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMTgsNiArMTgs
NyBAQCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgaXMgT0sKIG5hdmlnYXRvci5tZWRpYVNl
c3Npb24gaXMgT0sKIG5hdmlnYXRvci5taW1lVHlwZXMgaXMgT0sKIG5hdmlnYXRvci5vbkxpbmUg
aXMgT0sKK25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyBPSwogbmF2aWdhdG9yLnBsYXRmb3JtIGlz
IE9LCiBuYXZpZ2F0b3IucGx1Z2lucyBpcyBPSwogbmF2aWdhdG9yLnByb2R1Y3QgaXMgT0sKQEAg
LTUxLDYgKzUyLDcgQEAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGlzIE9LCiBuYXZpZ2F0
b3IubWVkaWFTZXNzaW9uIGlzIE9LCiBuYXZpZ2F0b3IubWltZVR5cGVzIGlzIE9LCiBuYXZpZ2F0
b3Iub25MaW5lIGlzIE9LCituYXZpZ2F0b3IucGVybWlzc2lvbnMgaXMgT0sKIG5hdmlnYXRvci5w
bGF0Zm9ybSBpcyBPSwogbmF2aWdhdG9yLnBsdWdpbnMgaXMgT0sKIG5hdmlnYXRvci5wcm9kdWN0
IGlzIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDZj
ZWUwZmEyZDRkNWRmZjZiOWQ2MTgyN2VlZTNlOTE0ZDk3OWI5NDUuLjQwOGM4YjQxYmM0M2NhMWIz
M2YwNjQ3OTEwYTJiYTVjNjYzMzZkYmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3drMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0
RXhwZWN0YXRpb25zCkBAIC04NjAsNCArODYwLDUgQEAgZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9w
ZXJtaXNzaW9uLWVycm9yLmh0bWwgWyBQYXNzIF0KIGZhc3Qvc3BlZWNocmVjb2duaXRpb24vc3Rh
cnQtcmVjb2duaXRpb24tdGhlbi1zdG9wLmh0bWwgWyBQYXNzIF0KIGZhc3Qvc3BlZWNocmVjb2du
aXRpb24vc3RhcnQtc2Vjb25kLXJlY29nbml0aW9uLmh0bWwgWyBQYXNzIF0KIGZ1bGxzY3JlZW4v
ZnVsbC1zY3JlZW4tZW50ZXItd2hpbGUtZXhpdGluZy5odG1sIFsgUGFzcyBdCitpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zLyBbIFBhc3MgXQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>